【发布时间】:2020-02-04 04:40:52
【问题描述】:
正如标题所说,我已将 odbcconnection 用于 sqlconnection,但我一生都无法让它工作。从这个网站复制了一堆代码,但无法让它们都工作。
程序只是挂起,所以也许我做错了什么,但可能会感谢一个简单的模板,我可以填写连接详细信息并将表格批量复制到表格..
using (OdbcConnection myConnection = new OdbcConnection())
{
string myConnectionString = @"Driver={Microsoft Access Driver (*.mdb)};" +
"Dbq=//####/data/Toronto/wrkgrp/wrkgrp30/Business Risk Oversight and Control/DATA INTEGRITY/CDE/CDE Testing Portal Requirements/Migration Requirements/RCM/Mutual Funds/Mutual Funds.mdb;";
myConnection.ConnectionString = myConnectionString;
myConnection.Open();
//execute queries, etc
OdbcCommand cmd = myConnection.CreateCommand();
cmd.CommandText = "SELECT * FROM RCM_MF_New_Accounts_Samples";
OdbcDataReader reader = cmd.ExecuteReader(); // close conn after complete
DataTable myDataTable = new DataTable();
myDataTable.Load(reader);
//myConnection.Close();
string destinationConnectionString = "Data Source=####;Initial Catalog=DYOF_STAGING_BROC;User ID=;Password=;Connection Timeout=999";
SqlConnection destination = new SqlConnection(destinationConnectionString);
SqlBulkCopy bulkData;
//destination.Open();
Exception ex = null;
try
{
Console.WriteLine("step1");
bulkData = new SqlBulkCopy(destinationConnectionString, SqlBulkCopyOptions.FireTriggers);
bulkData.BulkCopyTimeout = 1;
bulkData.DestinationTableName = "Load_CTR_Sample_Account_Opening2";
bulkData.WriteToServer(myDataTable);
bulkData.Close();
Console.WriteLine("moved from here to there");
reader.Close();
//destination.Close();
}
catch (Exception e)
{
ex = e;
}
【问题讨论】:
-
如果这是一次性的事情,在 Access 中打开 SQL Server 表然后跨两个表执行 INSERT 操作可能会更容易。
-
请更新您的问题以包含您遇到的任何错误。另外,您使用的是 .NET Framework 还是 .NET Core?我问是因为我从未见过 Core 与 Access 一起工作(即使它应该这样做)。