2016-06-11 67 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

相关问题