PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : خطای Login failed for user



hamid93
14 / February / 2015, 02:56 PM
سلام و خسته نباشید.


مشکل من :
*** من با SQL Server 2008 و Delphi 2006 کار میکنم.
*** برنامه من قراره در یک سیستم بصورت سرور و در چند سیستم بصورت کلاینت نصب بشه و بانک اطلاعاتیش فقط در سرور قرار بگیره (اشتراکی)
*** SQL Server رو در حال حاضر در سیستم خودم برای تست برنامه نسخه کامل R2 2008 نصب کردم اما میخوام در سیستم سرور مشتری Express رو نصب کنم که کم حجمه (اگه راه حل دیگه ای هست بگین البته این مشکل اصلی من نیست). به هر جهت SQL در حالت Mixed و با نام کاربری sa و پسورد 123 روی سرور نصب شده.
*** حالا برنامه در سرور براحتی کانکت میشه و اطلاعات رو هم نمایش میده و مشکلی در کانکشن استرینگ نیست :



with ADOConnection do
begin
ConnectionString:='Provider=SQLOLEDB.1;Password=12 3;Integrated Security=SSPI;User ID=sa;Persist Security Info=True;Initial Catalog='
+'MyDB'
+';Data Source='
+'MyComputer';
Connected:=True;
Open;
end;



که MyDB بطور مثال نام بانک اطلاعاتی و MyComputer هم بطور مثال نام کامپیوتر است. این کانکشن بخوبی در سرور جواب میده.

*** سیستم ها توسط مودم ADSL چهار پورت شبکه شدن و آی پی هر کدام در دیگری Ping میشود.
*** ویندوز سون است و Firewall حالت Work/Home خاموش است و آنتی ویروس هم فایر وال آن غیر فعال میباشد.
*** انتقال فایل در شبکه انجام میشود.
*** ضمنا برنامه جداگانه ای دارم که لیست اسامی تمام سیستم های موجود در شبکه را به من نشان میدهد. و از دریافت نام سیستم ها مطمئنم.
*** در سرور سرویس SQL Server با Instant Name : MSSQLSERVER در حالت Running و بصورت NetworkService است. همین وضعیت را برای سرویس SQL Server Browser هم داریم.

حال در ارتباط کلاینت با سرور با کانکشن استرینگ فوق خطای زیر رو دریافت میکنم :

Login failed for user : MyComputer\Guest



ممنون میشم کمکم کنید.

تشکر فراوان

javad_rajabloo
15 / February / 2015, 01:01 AM
دوست عزیز ، اگه کد بالا رو از محیط دلفی کپی گرفتی ، در بخش پسورد دو تا فاصله افتاده ، اونو درستش کن

این کانکشن استرینگ رو هم تست کن ببین چی میشه

Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=mydatabase1

admin
15 / February / 2015, 03:29 PM
سلام.
برای رفع مشکل Connection String بهترین روش این است که در یکی از کلاینتها فایلی با پسوند udl ایجاد نموده و ارتباط با دیتابیس را به صورت ویزاردی انجام دهید.
سپس کافی است فقط فایل را با NotePad باز کرده و رشته ی اتصال رو از آنجا کپی نمایید.
موفق و موید باشید.

hamid93
17 / February / 2015, 07:39 PM
با تشکر از پاسخ ها و زحمات دوستان.:)

من سوالم رو در انجمن serverfault.com مطرح کردم و جواب گرفتم. لازم دونستم برای باقی دوستانی که ممکنه به مشکل من برخورد کنن جواب رو بزارم.

کافیه در سیستم های کلاینت دو گزینه زیر از کانکشن استرینگ حذف بشه:



Integrated Security=SSPI;
Persist Security Info=True;


با آرزوی موفقیت برای همه برنامه نویسان ایرانی.

javad_rajabloo
18 / February / 2015, 12:08 AM
دوست عزیز ، اگه کد بالا رو از محیط دلفی کپی گرفتی ، در بخش پسورد دو تا فاصله افتاده ، اونو درستش کن

این کانکشن استرینگ رو هم تست کن ببین چی میشه

Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=mydatabase1

دوست عزیز اگه دقت کرده باشی من هم همینو گفته بودم

موفق باشی