【发布时间】:2013-03-05 12:21:59
【问题描述】:
我在使用传输类传输带有数据的数据库时遇到问题。它工作正常,无需传输数据。有了数据,我得到了
错误:错误代码 = -1071636471 描述 = SSIS 错误代码 DTS_E_OLEDBERROR。
发生了 OLE DB 错误。错误代码 0x800040005/ oledb 记录可用。资料来源:“Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 说明: 2登录失败。登录来自不受信任的域,不能用于 windows 身份验证”
该类有一个属性transfer.DestinationLoginSecure = false;,当设置为 false 时,它没有使用集成安全性。我试过设置各种属性都无济于事。
在我使用它的所有其他实例中连接良好的连接字符串。
using (SqlConnection conn = new SqlConnection(Connections.dbConnection_HTOUTER()))
{
conn.Open();
Server server = new Server(new ServerConnection(conn));
Database dbMaster = server.Databases[ConfigurationManager.AppSettings.Get("dbMaster")];
Database dbProduction = server.Databases[ConfigurationManager.AppSettings.Get("dbProduction")];
Transfer transfer = new Transfer(dbMaster);
string login = ConfigurationManager.AppSettings.Get("login");
string password = ConfigurationManager.AppSettings.Get("password");
transfer.CopyAllObjects = true;
transfer.CopyAllUsers = true;
transfer.Options.WithDependencies = true;
transfer.Options.ContinueScriptingOnError = true;
transfer.DestinationServer = server.Name;
transfer.DestinationDatabase = dbProduction.Name;
transfer.DestinationLoginSecure = false;
transfer.DestinationPassword = password;
transfer.DestinationLogin = login;
transfer.CopyAllRules = true;
transfer.CopyAllRoles = true;
//transfer.CopyAllObjects = true;
transfer.DropDestinationObjectsFirst = true;
transfer.CopySchema = true;
transfer.CopyData = true;
transfer.CreateTargetDatabase = false;
transfer.Options.IncludeIfNotExists = true;
transfer.Options.Indexes = true;
transfer.TransferData();
}
【问题讨论】:
-
杰德我,你有没有得到任何地方?我遇到了完全相同的问题。
标签: c# .net sql authentication transfer