View Full Version : مشکل Attach بانک اطلاعاتی
arman_bay2002
دوشنبه 06 خرداد 1387, 21:31 عصر
سلام به همگی من یه پروژه با وی بی 6 و اس کیو ال 2000 نوشتم و ستابش رو با اینستال شیلد 2008 ساختم ولی هنگام Attach پایگاه داده خود در هین نصب خطای اسکریپتی میدهد . من حالا میخواهم بانک اطلاعاتی را در هنگام نصب کپی کنم و در هنگام اجرای پروژه بانک اطلاعاتی را Attach کنم تا پروژم کار کنه . اگر سرور با ویندوز لاگین بشه بهتره . لطفا سورس کد این کار رو بگزارید یک عمر ممنونتون میشم. به امید روز های بهتر
ASKaffash
سه شنبه 07 خرداد 1387, 07:52 صبح
با سلام
اگر مشکل داشتی بگو :
Public Function DBProvider(ByVal YourDataBase As String)
DBProvider = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=" & YourDataBase
End Function
Public Function AttachRDBMS(ByVal YourPath As String, ByVal YourFileName As String, ByVal YourDB As String) As Boolean
AttachRDBMS = False
Dim TmpCon As New ADODB.Connection
On Error Resume Next
Err.Number = 0
TmpCon.Open DBProvider("master")
TmpCon.Execute "Select Top 0 * From sysfiles"
If Err.Number <> 0 Then
MsgBox " ÑÇ äÕÈ ˜äíÏ " + " SQLServer ", vbOKOnly, ""
Exit Function
Else
Err.Number = 0
TmpCon.Close
TmpCon.Open DBProvider(YourDB)
TmpCon.Execute "Select Top 0 * From sysfiles"
If Err.Number <> 0 Then
TmpCon.Close
TmpCon.Open DBProvider("master")
Err.Number = 0
TmpCon.Execute "EXEC sp_attach_db @dbname = N'" + YourDB + "',@filename1 = N'" + YourPath + "\" + YourFileName + "_Data.MDF',@filename2 = N'" + YourPath + "\" + YourFileName + "_Log.LDF'"
If Err.Number <> 0 Then
MsgBox "ÈÇä˜ ÇØáÇÚÇÊí æÌæÏ äÏÇÑÏ", vbOKOnly, ""
Exit Function
End If
End If
End If
TmpCon.Close
AttachRDBMS = True
End Function
arman_bay2002
سه شنبه 07 خرداد 1387, 11:33 صبح
بسیار ممنون از راهنمایی که کرددید بسیار کارم راه افتاد ولی یه قسمت دیگه که خیلی مهم هست مانده که : نام و نوع بانک اطلاعاتی هم با کد نویسی به قسمت Data Sources (ODBC) اضافه شود ممنون .
ASKaffash
سه شنبه 07 خرداد 1387, 15:11 عصر
با سلام
پیشنهاد میکنم اینکار را نکنید واز Provider های ازنوع OLE-DB استفاده کنید نه ODBC اگر اصرار دارید بگوید چون یک API برای اینکار وجود دارد که باید برایت پیدا کنم
arman_bay2002
سه شنبه 07 خرداد 1387, 18:25 عصر
ممنون میشم بیشتر راهنمایی یم نمایید و اگر میتوانید کد این کار را بگزارید باز هم:خجالت:
arman_bay2002
سه شنبه 07 خرداد 1387, 19:33 عصر
منظور من اضافه شدن نام بانک اطلاعاتی در قسمت (Data Sources (ODBC در کنترل پنل میباشد .
ASKaffash
چهارشنبه 08 خرداد 1387, 13:00 عصر
با سلام
اصلا با استفاده از OLE_DB نیازی به اینکار ندارد به مثال ذیل نگاه کنید :
Private Sub Command1_Click()
Me.Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Password=MyPass;Persist Security Info=True;User ID=MyUser;Initial Catalog=MyDataBase;Data Source=172.125.42.33"
Me.Adodc1.RecordSource = "Select * From ? Wher ? ....."
Me.Adodc1.Refresh
End Sub
با اینکار شما مثلا با ارائه پارمترهای ارتباطی به یک بانک SQLServer وصل میشوید عموما بانکهای متفاوت Provider های OLE_DB را دارند
arman_bay2002
چهارشنبه 08 خرداد 1387, 23:12 عصر
چرا برنامه من نیاز داره تا بانک اطلاعاتیش با کد نویسی در (Data Sources (ODBC اضافه بشه لطفا به تصویر زمیمه نگاهی بینداز .
arman_bay2002
پنج شنبه 09 خرداد 1387, 09:44 صبح
لطفا کمک کنید !!!!
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.