-
אני מנסה לפתוח את המסד הנתונים שלי במחשב ע"י SqlConnection עברתי לפי המדריך הבא תכלס הצלחתי לפתוח את השרת אבל אני מקבל שגיאה בפתיחת הdb הערכה שלי היא שבBD שלי אין סיסמה ובמדריך שם הוא מביא עם סיסמה
זה הקוד שכתבתיstring connetionString; SqlConnection cnn; connetionString = @"Data Source=lenovo;Initial Catalog=or;User ID=;Password="; cnn = new SqlConnection(connetionString); cnn.Open(); MessageBox.Show("Connection Open !"); cnn.Close();
וזה השגיאה
System.Data.SqlClient.SqlException: 'A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)'
ובתרגומו
System.Data.SqlClient.SqlException: 'נוצר בהצלחה חיבור עם השרת, אך אז אירעה שגיאה במהלך תהליך הכניסה. (ספק: ספק זיכרון משותף, שגיאה: 0 - אין תהליך בקצה השני של הצינור) 'ניסיתי לכתוב גם כך
connetionString = @"Data Source=lenovo;Initial Catalog=or";
וכך
connetionString = @"Data Source=lenovo;Initial Catalog=or;User ID="";Password=""";
וכך
connetionString = @"Data Source=lenovo;Initial Catalog=or;User ID='';Password=''";
וללא הצלחה
-
עבור פתיחת חיבור לMSSQL באמצעות SQL Server Authentication נדרשים שם משתמש וסיסמא.
יש לך שני אופציות:
- להשתמש עם האימות של ווינדוס ע"י החלפת
Password
וUser ID
עםIntegrated Security=true
(האפשרות המומלצת בשל אימות משופר) . - לאפס את הסיסמא.
אני ממליץ לך להציץ על זה.
- להשתמש עם האימות של ווינדוס ע"י החלפת
-
@אוריי כמובן שצריך להדגיש שהתשובות המצויינות של @רפאל ו @OdedDvir נכונות רק באותו מחשב או אותו תחום, אבל אם בעתיד אתה תעביר את הDB לשרת מרוחק, והפרוייקט יהיה בשרת אחר (או לחילופין תרצה להתחבר אליו בשביל פיתוח ובדיקת באגים) לא תוכל להתחבר מהמחשב המקומי לשרת המרוחק בשיטה הזו (אא"כ אולי תהיה באותו התחום - זה לא קורה בד"כ)
במידה וזה יקרה תצטרך לשנות את מחרוזת החיבור (או לדאוג לזה כבר מעכשיו... זה לא כזה מסובך)
האמת שכשתעביר את הDB לשרת אחר ממילא תצטרך לתקן את מחרוזת החיבור אא"כ תשתמש בדומיין במקום בכתובת IP, ואז תצטרך לתקן רק את הDNS)
בנוסף, אתה יכול להשתמש במשתמש sa שזה מנהל המערכת, ובסיסמת הווינדוס של מנהל המערכת (זה הסיסמא בד"כ)אבל בוודאי שהתשובות של @רפאל ו @OdedDvir מדוייקות ונכונות במקרה המיידי שלך
-
-
@clickone ניתן להוסיף חשבון בActive Directory לMSSQL, כמו כן אתה יכול ליצור Logins עם הרשאות מותאמות אישית עבור קבוצה, דבר שיאפשר את הכניסה של כל החברים בה.
העובדה שאנחנו לא משתמשים בטכנולוגיה מסויימת לא בהכרח שוללת את הלגיטימיות שלה.
-
@רפאל לא אמרתי שהיא לא לגיטימית, אמרתי שבפרקטיקה חלק ניכר לא משתמשים באקטיב דירקטורי לזה. (אני באמת לא יודע למה.)
(ולא יעזור שזה כתוב בתיעוד של מייקרוסופט, כל עוד שבברירת מחדל כשאתה מייצר DB באז'ור, הם נותנים לך פרטי חיבור רגילים ולא של אקטיב דירקטורי)
ז"א, מייקרוסופט עצמה לא עומדת עד הסוף בזה (וכולנו יודעים שאם היא רק היתה רוצה לדחוף את זה היא היתה מוצאת את הדרך....)שאר הדברים לובנו אתמול בשיחה ביננו כולל הדיון של להעיף את אחראי הDB בפרוייקט
-