ورود

View Full Version : اتصال به بانک اطلاعاتی با یک کاربر خاص



ali682344
پنج شنبه 12 فروردین 1389, 18:00 عصر
با سلام خدمت دوستان.
من با استفاده از کد زیر یم بانک اطلاعاتی رو به SQl Server متصل میکنم .
Dim Con As New Connection
Con.Open "Provider=sqloledb;Data Source=(local);Initial Catalog=master;Persist Security Info=false;Integrated Security=SSPI;"
Con.Execute "EXEC sp_attach_db @dbname = N'db'," & _
"@filename1 = N'c:\db.MDF'," & _
"@filename2 = N'c:\db.ldf'"
Con.Close

حال وقتي از اين كد استفاده مي كنم
خطاي cannot open database requested in login 'db' login fails
ظاهر مي شود

كد ارتباط با پايگاه هم
mdb_path = "Provider=sqloledb;Data Source=192.168.0.1;Initial Catalog=db.mdf;Integrated Security=SSPI;"

ايا مشكل از user است اگر از يوزر است نحوه ايجاد كاربر با كد نويسي رو لطف كنيد
كد ارتباط با پايگاه داده براي برنامه تحت شبكه مشكلي نداره؟

AminSobati
جمعه 13 فروردین 1389, 13:39 عصر
سلام دوست عزیزم،
آیا مطمئن هستید که لاگین و Username مربوطه در SQL server و دیتابیس ساخته شده؟

ali682344
جمعه 13 فروردین 1389, 14:19 عصر
سلام دوست عزیزم،
آیا مطمئن هستید که لاگین و Username مربوطه در SQL server و دیتابیس ساخته شده؟

با تشكر از پاسختون
مشكل من همين جاست ،نمي دونم به چه لاگيني نياز داره يا چطوري مي تونم با كدنويسي در خود ويژوال لاگين مورد نظرو ايجاد كنم.

ali682344
شنبه 14 فروردین 1389, 17:36 عصر
با سلام
من خودم يه چيزايي پيدا كردم ولي مربوط به دلفيه
نمي دونم چطور به vb تبديل ميشه
خواهشن كمك كنيد
1) اتصال بانک اطلاعاتی که روی هارد قرار دارد به SQL Server:


کد:
ADOCO.CommandText:='EXEC sp_attach_db @dbname = N'+QuotedStr('BridgeDB')+','+
'@filename1 = N'+QuotedStr(ExtractFilePath(Application.ExeName)+ 'DataBase\BridgeDB_Data.MDF')+','+
'@filename2 = N'+QuotedStr(ExtractFilePath(Application.ExeName)+ 'DataBase\BridgeDB_Log.LDF');
ADOCO.Execute;2) ایجاد کاربر مورد نظر در SQl Serevr:



کد:
ADOCO.CommandText := 'Exec SP_AddLogin ' + QuotedStr('user name') +
',' + QuotedStr('Password') + ',' + QuotedStr('DataBase name') + ';';
ADOCO.Execute;3) تغییر Owner یک بانک اطلاعاتی یا اصطلاحا همون کاربر بانک اطلاعاتی


کد:
ADOCO.CommandText:='use BridgeDB';
ADOCO.Execute;
ADOCO.CommandText:='EXEC sp_changedbowner '+QuotedStr('UserName');
ADOCO.Execute;