2017-07-07 116 views
0
System.Data.SqlClient.SqlException occurred 
    HResult=0x80131904 
    Message=Invalid object name 'Drivers.DriversDetailTable'. 
    Source=.Net SqlClient Data Provider 
    StackTrace: 
<Cannot evaluate the exception stack trace> 

每次我試着將一個數據庫表中的數據複製到另一個數據庫時,我都會收到上述錯誤,繼承我的代碼。SQL命令查詢

SqlConnection connect = new SqlConnection([email protected]"Data Source = Computer\SQLEXPRESS;Initial Catalog = Drivers;Trusted_Connection=True;"); 
      connect.Open(); 
      SqlCommand cmd = new SqlCommand([email protected]"SELECT * INTO BackUpDatabase.DriversDetailTable FROM Drivers.DriversDetailTable", connect); 
      cmd.ExecuteNonQuery(); 
      connect.Close(); 
+0

什麼是錯誤?使用您正在使用的數據庫進行標記。 –

+0

我如何標記數據庫?對不起,我是新手,今天就開始吧 –

+0

好像你應該使用sql-server標籤。 – jarlh

回答

3

看起來你database名字Driversschema

SELECT * 
INTO BackUpDatabase.DriversDetailTable 
FROM Drivers.DriversDetailTable --here schema name is missing 

當您使用兩個部分IDENTIFER那麼它將被解析爲

schemaname.tablename

所以DriversBackUpDatabase被視爲模式名稱而不是數據庫。

應該

SELECT * 
INTO BackUpDatabase.dbo.DriversDetailTable 
FROM Drivers.schemaname.DriversDetailTable --here replace schemaname with dbo or whatever schema name 

注:當您使用INTO條款它創建一個新表。當你第二次運行時,你可能會得到一個錯誤,說明表已經存在。最好在備份數據庫使用前創建表INSERT INTO..select複製行

Insert into BackUpDatabase.dbo.DriversDetailTable (col1,col2,..) 
select col1,col2,..FROM Drivers.schemaname.DriversDetailTable 
+0

我試過並得到此錯誤 –

+0

發生System.Data.SqlClient.SqlException HResult = 0x80131904 Message =指定的模式名稱「BackUpDatabase」或者不存在,或者您沒有使用它的權限。 源= .net SqlClient數據提供 堆棧跟蹤: <無法評估異常堆棧跟蹤> –

+0

@JohnDoe - 檢查現在... –