DSN

  • פותח הנושא apk
  • פורסם בתאריך

apk

New member
DSN

טוב, עושה לי הרושם שזה הדבר המסובך ביותר בנושא הקמת אתרים (למי שלא מתכוון להתעסק באנימציה שהיא מסובכת אף יותר בעיני) וכל השאר קלי קלות לעומת זה.
טוב אולי עוד בעתיד יתברר שטעיתי
אז לשאלה אם השרת שלי הוא בברינקסטר וטבלאות מסד הנתונים נבנו באקסס 2000, מהם השמות בהם עלי להשתמש או היכן אני מוצאת אותם? ו... האם זה אותם שמות לכל מסדי הנתונים (לכל פינה באתר) או שלכל מסד נתונים צריך DSN נפרד?
 
ברינקסטר, במתכונתו החינמית,

בכלל לא תומך ב-DSN
שם לבסיס הנתונים - את יכולה לתת לא איזה שם שאת רוצה, כל עוד את מקפידה לשים אותו בתיקייה המיועדת לבסיס הנתונים (בברינקסט זה DB או DATABASE , לא זוכרת בדיוק
) שמות לטבלאות - כנ"ל, מה שבא לך... אם יש לך כמה מסדי נתונים, הגיוני שלכל אחד מהם יהיה שם שונה (לא ניתן לאכסן בתיקיה מסויימת שני קבצים בעלי אותו שם ואותה סיומת). לגבי הטבלאות - בהחלט יכולות להיות לך בשני בסיסי נתונים שונים, טבלאות בשם זהה. אבל למה לך
למה לבזבז מקום כשאפשר לאכסן הכל בבסיס נתונים אחד
למה לסבך לעצמך את החיים עם מחרוזות חיבור שונות לכל דף
זה לא יעיל, וזה מיותר. תעבדי עם בסיס נתונים אחד בלבד
 

apk

New member
אז ... ../images/Emo35.gif

ללא ספק שלכל פינה באתר יהיה מסד נתונים שלם. למשל, בשער הריון בפינת חוות הדעת על הגניקולוגים יהיה מסד נתונים שלם ובו בין היתר: טבלת פרטי הרופאים עליהם ניתנה חוות דעת, טבלת פרטי המבקרים שנתנו חוות דעת וטבלת תוות הדעת והציונים. מסד נתונים דומה אך נפרד יהיה חמשל בשער פריון לגבי גניקולוגים העוסקים בפריון, או בשער הורות לגבי רופאי ילדים ובשער כלבים לגבי וטרינרים. לנושאים אחרים מסדי נתונים נפרדים אחרים. הרי אי אפשר לערבב, זה יצור בלאגן (לפחות כך נראה לי). כך שהחיבורים יהיו בתוך מסד נתונים מסוים ולא בין מסדים שונים. מלבד במקרה של מסד נתונים אחד שאני קוראת לו מועדון חברים. זה יהיה מסד נתונים של מבקרים באתר ויתכן מאוד שאותו פרט יופיע בשערים שונים ובפינות שונות ואין טעם ליצור עבורו רשומות נפרדות לכל פינה בה הוא משתתף. טוב, אז אם ברינקסטר החינמי בכלל לא תומך ב-DSN אז את הנושא הזה נשים בינתיים בצד, אבל אם ככה אז מה עושים מה עם אובייקט חיבור?
 

איליה.

New member
למה לך להפריד?

אני לא רואה שום בעיה בלהחזיק הכל במסד נתונים אחד. אדרבא, יש לך טבלה של מועדון חברים שמקושרת לכולם, אז את צריכה כל פעם לפתוח את ה-database עם מחרוזת אחרת, ובמועדון החברים אפילו עם שתי מחרוזות... בשביל מה?
 

apk

New member
רגע חושבים../images/Emo70.gif

היתרון העצתך ברור, אבל מה לגבי העובדה שאז יהיו במסד נתונים יחיד הרבה מאוד טבלאות? ושוב אם אין DSN איך אני שולפת נתונים ממסד הנתונים?
 

אלי_פ

New member
אנ חושב שעדיף DB אחד

סביר להניח שאם האתר גדול, חלק מהנתונים חוזרים (כמו למשל טבלת "כותבים באתר" או "רופאים") ואז פיצול למסדי נתונים נוספי רק יסרבל. בקשר ל DSN - ברינקסטר לא תומך, אז את מבצעת מה שנקרא DNS-LESS , כלומר שורת חיבור מלאה, בברינקסטר זה נראה ככה:
db.open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&server.mappath("db/mydbname.db")​
משהו כזה אם את מסתבכת תחפשי קובץ בתיקייה שלך בברינקסטר שנקרא exfindmypath.asp והוא מכיל הדגמות של התחברות ל DB
 

apk

New member
לא מסתדר

שורת הקוד שהצעת לי כאן גורמת להודעת שגיאה כאילו בשורה זו חסרים גרשיים
 
תנסי את זה:

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("\db\MyDB.mdb")​
כשאת MyDB את משנה לשם הדיבי שלך.
 

apk

New member
זו ההודעה

Microsoft VBScript runtime error ´800a01a8´ Object required: ´´​
 
../images/Emo13.gif זה מתקשר לשרשור השני...

פשוט לא יצרת את אובייקט החיבור, לכן את לא מצליחה להתחבר. שורת החיבור שנתנו לך פה, היא בעצם connectionString בדוגמא שנתתי לך בשרשור השני.
 
למעלה