Я использую .net webservice для восстановления базы данных в sqlserver.Я использую SQLDMO.dll, для восстановления базы данных, когда я запускаю приложение, я получаю следующую ошибку.
System.Web.Services.Protocols.SoapException: Серверу не удалось обработать запрос.---> System.UnauthorizedAccessException: получение фабрики классов COM для компонента с CLSID {10021CC1-E260-11CF-AE68-00AA004A34D5} завершилось неудачно из-за следующей ошибки: 80070005. at DBReplicatorService.SQLDEMOScripts..ctor () в DBReplicatorServiceService.DerRepvice.RestoreDB (String sDBName, String sUserName, String sPassword, String sBackupFileName)
Я использую следующий код для подключения базы данных
Dim objBCPExport As New SQLDMO.BulkCopy2
Public objDB As SQLDMO.Database2
Dim objServer As New SQLDMO.SQLServer2
Public Function ConnectDatabaseWithRefresh(ByVal sServerName As String, ByVal sDatabaseName As String, ByVal sUserName As String, ByVal sPassword As String) As Boolean
Dim bResult As Boolean
Try
objServer = New SQLDMO.SQLServer2
objServer.EnableBcp = True
objServer.Connect(sServerName, sUserName, sPassword)
objDB = Nothing
objDB = objServer.Databases.Item(sDatabaseName)
objDB.DBOption.SelectIntoBulkCopy = True
bResult = True
Catch ex As Exception
bResult = False
End Try
Return bResult
End Function
тот же код, когда я использую в моем localhost, этоработает нормально (содержит sql server 2005), и когда я использую его на хост-сервере (он содержит sql server 2008), я получаю вышеуказанную ошибку
Я получаю ошибку при инициализации этих переменных.
Dim objBCPExport As New SQLDMO.BulkCopy2
и строка подключения, которую я использую:
Dim cnnNewDB As New SqlConnection("Data Source=" + pServer + "Initial Catalog=" + pDatabase + ";Persist Security Info=True;User ID=" + pUserName + ";Password=" + pPassword)
Может ли кто-нибудь помочь мне решить проблему.
Спасибо, Сентил.