我已使用Management Studio添加了链接服务器。
在vb.net中,我可以SELECT,但我无法更新
即使我将超时设置为4分钟,我也会收到超时错误。 代码如下:
Dim cnx As New SqlClient.SqlConnection
cnx.ConnectionString = "server=MY_LOCAL_SERVER;Trusted_Connection=yes;MultipleActiveResultSets=True"
cnx.Open()
' This is working'
Dim cmd As SqlCommand = cnx.CreateCommand
cnx.CommandText = "SELECT * FROM [MY_LINKED_SERVER].[MYDB].[dbo].[MYTABLE]"
Dim reader As SqlDataReader = cmd.ExecuteReader
' This is not working :( '
cmd.CommandText = "UPDATE [MY_LINKED_SERVER].[MYDB].[dbo].[MYTABLE] SET Foo = @foo WHERE id = @id"
cmd.Parameters.AddWithValue("@foo", "bar")
cmd.Parameters.AddWithValue("@id", "10")
cmd.CommandTimeout = 240
cmd.ExecuteNonQuery() ' Timeout exception
如果我在Sql Management Studio中执行此更新查询,则它正在运行。
编辑:当我执行查询FROM SSMS时,它非常快
编辑:INSERT或DELETE正在运行。只有UPDATE发出超时错误...
编辑:似乎如果我没有在我的更新查询中使用参数,它正在工作,例如:“UPDATE ... SET Foo ='bar'”将工作,而“UPDATE ... SET Foo = @foo “不会工作OO