PDA

View Full Version : خطا در اتصال برنامه به بانک



hossein85
پنج شنبه 06 بهمن 1390, 18:44 عصر
با سلام من یه پروژه دارم برای آزمایشگاه پایگاه داده می نویسم زیادم حرفه ای نیستم دیتابیسم را در SQL2008 ایجاد کردم برنامه هم با C#‎‎2088 نوشتم وقی برنامه می خواد به بانک وصل شه این خطا را می ده:Cannot open database "..." requested by the login. The login failed
Login failed for user ...'.البته من از connection string مطمئنم چون کلیه توصیه های دوستان که قبلا برای حل این مشکل مطرح شده بود را انجام دادم علاوه بر اون Gridview را با استفاده از ویزارد خود برنامه به دیتا بیس وصل کردم که جواب می ده و query که می نویسی اجرا می کنه من connection string را از اونجا کپی کردم که باز هم جواب نداد و همین خطا تکرار شد دیگه کلا نمی دونم چی کار کنم راستی با ویندوز 7 کار می کنم که فایروالشم خاموش کردم و باز هم نتیجه نگرفتم لطفا کمک کنید.
با تشکر از لطف دوستان:ناراحت:

ali_habibi1384
پنج شنبه 06 بهمن 1390, 23:04 عصر
فايلهاتونو رو ضميمه كنيد

shadi khanum
پنج شنبه 06 بهمن 1390, 23:30 عصر
پروژتون رو بذارید یا حداقل connectionStringتون رو

h-rafiee
جمعه 07 بهمن 1390, 01:10 صبح
بهتره که بر روی ویژوال 2008 با SQL 2005 کار کنید. منم زمانی که می خواستم چنین کاری کنم چنین مشکلی برخورد کردم.
شما یک نسخه ویژوال 2010 برای ایجاد چنین بانکی استفاده کنید.
این اررور بدلیل آپدیت کردن sql2005به 2008 آن نیز می باشد:)

ali_habibi1384
جمعه 07 بهمن 1390, 09:30 صبح
بهتره که بر روی ویژوال 2008 با SQL 2005 کار کنید. منم زمانی که می خواستم چنین کاری کنم چنین مشکلی برخورد کردم.
شما یک نسخه ویژوال 2010 برای ایجاد چنین بانکی استفاده کنید.
این اررور بدلیل آپدیت کردن sql2005به 2008 آن نیز می باشد:)
مشكل چيز ديگه است. من قبلا با C#2008 و SQL2008 كار كردم مشكلي ندارن باهم.

hossein85
جمعه 07 بهمن 1390, 11:24 صبح
سلام اول از همه دوستان تشکر می کنم من همه این ها را تست کردم ولی جواب نگرفتم:
SqlConnection con = newSqlConnection("Server=.;Initial Catalog=salamat;Integrated Security=True");
con.Open();
SqlConnection con = newSqlConnection("Server=(local);Initial Catalog=salamat;Integrated Security=True");
con.Open();
SqlConnection con = newSqlConnection("Server=localhost;Initial Catalog=salamat;Integrated Security=True");
con.Open();
SqlConnection con = newSqlConnection("Data Source=.;Initial Catalog=salamat;Integrated Security=True");
con.Open();

که با local , localhost هم تست کردم علاوه بر اینها از سایر overload متدSqlConnection هم استفاده کردم که جواب نداد اینم خود connection string هست که گفتم از ویزارد برنامه کپی کردم ولی برنامه اصلا اجرا نمی شه و این خطا را می ده:Unrecognized escape
SqlConnection con = newSqlConnection("Data Source=HOSSEIN-PC\SQLEXPRESS;Initial Catalog=salamat;Integrated Security=True");

زیر SQ یه خط چین قرمز میندازه.من تمام این querystring را با user sa و uername وpassword خودم تست کردم که خطای ذکر شده تکرار می شه همچنین در قسمت security کانکشن و دیتا بیس userخودم را اضافه کردم و sqlserver and windows athentication mode و windows athentication mode را تست کردم ولی جواب نگرفتم.
تشکر

h-rafiee
جمعه 07 بهمن 1390, 11:30 صبح
دوست عزیز در هنگام Attach ارور رو میده؟
یا که نه الان خط دستورات رو می نویسی و بعد ارور میده.

یکی از دوستان گفتن کار کردن با sql2008 من هم متذکر شدم که باید نسخه SQL SERVER 2008 نصب بشه نکه 2005 رو آپدیت به 2008 کرد.

من یادم این اررور من بدلیل آپدیت بانک داده ای بوده.

hossein85
جمعه 07 بهمن 1390, 11:56 صبح
من درست متوجه منظورتون نشدم ولی من اول sql2008 بعد visual studio 2008 را نصب کردم بعد دیتا بیس را در ساختم و شروع به ایجاد پروژه کردم که همه چیز خوب پیش می رفت که خوردیم به این erorr و الان هم سه روز تو خماریش هستم راستی من قبلا یه پروژه داشتم که با visual studio 2008 و sql2005 نوشته شده بود و بدون مشکل هم کار می کرد من بانکش را در sql2008 اتچ کردم که ببینم اون چه جوریه که اونم همین خطا را داد فکر کنم نظرتون درباره اینکه بهتره با sql2005 کار کنم درست باشه ولی یکی از دوستان گفته مشکلی ندارن از طرفی چرا ویزارد خود برنامه جواب می ده ولی با کد نویسی حتی با کپی کردن connection string جواب نمی ده؟ دیگه نمی دونم چی کار کنم.

Esmail Solhkhah
جمعه 07 بهمن 1390, 12:32 عصر
وقتی از Sqlserver and Windows athentication Mode استفاده میکنید یعنی SQL-SERVER رو به این مد تنظیم کردید :

Data Source = .\\SQLEXPRESS;Initial Catalog = Salamat;UID = sa;PWD= 123456

برای کار شبکه اگه نوع شبکتون WorkGroup هست این انتخاب خوبیه ولی اگه SQL-SERVER رو روی یه Domain-Controller نصب کردید و کاربرها به این دامنه لاگین میکنن انتخاب بهتر : Windows Authentication

روی سرور SQL-SERVER باید قابلیت ارائه سرویس تحت TCP/IP رو داشته باشه

تو کانکشن استرینک به نام اینستنس نصب شده اشاره کنید , ضمنا نسخه های Express در حالت عادی قابلیت سرویس تحت شبکه رو ندارن مگر اینه خودتون ست کنید.


دقت کنید تو رشته اتصال یا قبل از رشته از @ (آ دورت بگردم) :لبخندساده: استفاده کنید یا بجای \ از \\ استفاده کنید.

موفق باشید.