2016-06-11 70 views
0

我正在使用此代碼:SQL數據庫到另一臺PC-SQL數據庫

SqlCommand cmd = new SqlCommand(" MERGE customermaster AS target USING Tamio.dbo.memberform AS source ON target.id = source.id WHEN MATCHED THEN UPDATE SET target.name = source.name WHEN NOT MATCHED THEN INSERT (id, name) VALUES (source.id, source.name);", con); 

我想從我的本地數據庫中進行選擇。

我嘗試這一點,但它說,不正確的語法

SqlCommand cmd = new SqlCommand(" MERGE customermaster AS target USING [local]Tamio.dbo.memberform AS source ON target.id = source.id WHEN MATCHED THEN UPDATE SET target.name = source.name WHEN NOT MATCHED THEN INSERT (id, name) VALUES (source.id, source.name);", con); 

而且這是我的本地連接

SqlConnection con = new SqlConnection(@"Data Source=(local);Initial Catalog=Tamio;Integrated Security=True"); 

,這是我的客戶端PC連接

SqlConnection conn = new SqlConnection(@"Data Source=192.168.1.101;Initial Catalog=Imatismos;user ID=admin;Password=1234"); 
+0

你想要存檔什麼? –

回答

1

那麼除非您指定服務器名稱(如果使用的是linked serverTamio.dbo.memberform數據庫是一個熟悉我的知識的本地數據庫。在情況下,你要使用一些其他的服務器數據庫,並且您已經定義爲Linked Server(使用sp_addlinkedserver),那麼你可以用說

[server_name].Tamio.dbo.memberform 

這是你的本地連接字符串,您使用的是local DB

SqlConnection con = new SqlConnection(@"Data Source=(local);Initial Catalog=Tamio;Integrated Security=True"); 

而另一個是不同的服務器,並沒有Tamio數據庫。

+0

不,我不想使用鏈接的服務器。在PC A我有數據庫稱爲Tamio,在PC B我有一個名爲Imatismos的數據庫。另外我得到這個錯誤找不到服務器'USER-PC \ SQLEXPRESS。我的代碼:[USER-PC \\ SQLEXPRESS] .Tamio.dbo.memberform – user6453809

+0

@ user6453809,你不需要這樣訪問它,因爲它是一個本地數據庫,就像'Tamio.dbo.memberform'一樣使用它。不需要包含服務器名稱。它是隱式推斷的。 – Rahul

+0

當我使用它像這樣Tamio.dbo.memberform它搜索我的數據庫到第二個電腦乙。我的代碼高於 – user6453809

相關問題