MS AccessデータベースからSQL Serverデータベースにテーブルをコピーしようとしています。MS AccessからSQL Serverへの一括コピー
これはコードです。このように、この関数を呼び出す
private static void BulkCopyAccessToSQLServer(string sql, string destinationTable,string fileName)
{
using (DataTable dt = new DataTable())
{
using (OleDbConnection conn = new OleDbConnection(String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", fileName)))
using (OleDbCommand cmd = new OleDbCommand(sql, conn))
using (OleDbDataAdapter adapter = new OleDbDataAdapter(cmd))
{
cmd.Connection.Open();
adapter.SelectCommand.CommandTimeout = 240;
adapter.Fill(dt);
adapter.Dispose();
}
using (SqlConnection conn2 = new SqlConnection(connStr))
{
conn2.Open();
using (SqlBulkCopy copy = new SqlBulkCopy(conn2))
{
copy.DestinationTableName = destinationTable;
copy.BatchSize = 1000;
copy.BulkCopyTimeout = 240;
copy.WriteToServer(dt);
copy.NotifyAfter = 1000;
}
}
}
}
...
BulkCopyAccessToSQLServer("select * from Table1", "Table1", "C:\\db.accdb");
私は次のエラーを取得する:
System.Data.OleDb.OleDbException: Could not find file 'C:\db.accdb'.
at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OleDb.OleDbConnection.Open()
at WebService.BulkCopyAccessToSQLServer(String sql, String destinationTable, String fileName)
at WebService.Import()
は私が間違って何をしているのですか?
データベース 'C:\ db.accdb'は存在しますか? – Heinzi
はい、それは挑戦 – Beginner
ive SQL管理を通じてこれを行うが、私のコードを介して行う必要があります – Beginner