我正在使用.net webservice来恢复sqlserver中的数据库。我正在使用SQLDMO.dll恢复数据库,当我运行应用程序时,我得到了以下错误。
System.Web.Services.Protocols.SoapException:服务器无法处理请求。-> System.UnauthorizedAccessException:检索CLSID为{10021CC1-E260-11CF-AE68-00AA004A34D5}的组件的COM类工厂失败,错误如下: 80070005。at DBReplicatorService.SQLDEMOScripts..ctor() at DBReplicatorService.DBReplicatorService.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当我在我的本地主机中使用相同的代码时,它工作得很好(它包含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)有谁能帮我解决这个问题吗?
谢谢,森蒂尔。
发布于 2011-04-14 20:51:34
嘿,如果您确定用户服务器名称和密码的准确性,您的项目可能无权写入事件日志。要解决此问题,请转到\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\RestrictGuestAccess并将其值更改为(0)以重新启动
https://stackoverflow.com/questions/5662972
复制相似问题