2016-05-05 134 views
0

我想從一個MS Access數據庫導入數據到另一個MS Access數據庫,並發現以下工作正常,我得到的問題是有沒有人知道我應該怎麼做是使用,如果從數據庫與SYSTEM.MDW從一個MS Access數據庫導入數據到另一個MS Access數據庫

string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Data\Database1.mdb;User Id=admin;Password=;"; 
string commandText = "INSERT INTO [TableName] SELECT * FROM [MS Access;DATABASE=C:\\Data\Database2.mdb].[TableName]"; 

try 
{ 
    using (OleDbConnection oleConnection = new OleDbConnection(connectionString)) 
    { 
     using (OleDbCommand oleCommand = new OleDbCommand(commandText, oleConnection)) 
     { 
      oleCommand.CommandType = CommandType.Text; 
      oleCommand.Connection.Open(); 
      oleCommand.ExecuteNonQuery();  
     } 
    } 

} 
catch (Exception) 
{ 
    throw; 
} 

鎖定我可以打開由使用Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\Database2.MDB;System Database=C:\Data\SYSTEM.MDW;User ID=Developer;Password=Password

+0

當從數據庫不受SYSTEM.MDW保護時,可以執行此操作嗎?我猜你需要將Access環境**打開**,然後運行INSERT語句。我可能是錯的,當然... – marlan

回答

0

如果你可以打開數據庫,打開它,從它做的動作數據庫:

string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\Database2.MDB;System Database=C:\Data\SYSTEM.MDW;User ID=Developer;Password=Password"; 
string commandText = "INSERT INTO [TableName] In 'C:\\Data\Database1.mdb' SELECT * FROM [TableName]"; 
try 
{ 
    using (OleDbConnection oleConnection = new OleDbConnection(connectionString)) 
    { 
     using (OleDbCommand oleCommand = new OleDbCommand(commandText, oleConnection)) 
     { 
      oleCommand.CommandType = CommandType.Text; 
      oleCommand.Connection.Open(); 
      oleCommand.ExecuteNonQuery();  
     } 
    } 

} 
catch (Exception) 
{ 
    throw; 
} 
+0

謝謝作品一個款待 –