PDA

View Full Version : سوال: کمک در Attach بانک اطلاعاتی



arman_bay2002
چهارشنبه 22 خرداد 1387, 20:01 عصر
سلام به شما دوست گرامی
یکی از دوستان زحمت کشید و کد Attach دیتابیس رو گزاشت من زمانی که کد را روی سیستم خود اجرا میکنم مشکلی ندارم زمانی که از برنامه خود ستاب درست میکنم و در ستاب خود MSDE2000 را بارگزاری میکنم هم مشکلی پیش نمی آید ولی بعد از نصب و اجرای فایل با پیقام عدم Attach بانک اطلاعاتی مواجه می شوم .
تحقیق کردم و دیدم که مشکل از کدام خط کد بود .
(TmpCon.Open DBProvider(YourDB
مشکل از این خط بالا بود و پیقام Cannot open database requested in login 'DataBase' . login fails
من کد کامل این کار را میگزارم تا کمکم کنید

در فرم لود

Set DatabaseConnection = New ADODB.Connection
Set DatabaseRecordset = New ADODB.Recordset
DatabaseConnection.ConnectionString = "Database"
DBProvider (AppPach & "\Database\Database_Data.mdf")
AttachRDBMS AppPach & "\Database", "Database", "Database"

در ماژول


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
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
من برنامه ام را با ویژوال بیسیک 6 و SQLServer2000 ساخته ام و نام بانک اطلاعاتی من هم Database می باشد
لطفا سریعتر کمکم کنید چون پروژه ام را باید ارائه دهم متشکرم .