我在另一个域中有一个SQL Server需要查询。我无法在网上找到类似于我试图做的任何事情,所以我来这里寻求帮助。通常情况下,我一直在使用Window的远程桌面连接登录到其他域,然后我将从远程计算机打开管理工作室并执行我的查询。
我想让代码执行没有图形界面的远程桌面连接。我只是希望我的代码远程进入其他域,执行查询并断开连接。这就是我所拥有的:
Private Sub btnConnect_Click(sender As System.Object, e As System.EventArgs) Handles btnConnect.Click
Dim connectionString As String = "Server = 111.111.111.111; Initial Catalog = remote database; Network Library=DBMSSOCN; integrated security = true; User ID = domain2\mylogin; Password = myPass;"
Dim connectionString2 As String = "Server = local SQL Server; Initial Catalog = local database; integrated security=true"
Try
Using sourceConnection As SqlConnection = _
New SqlConnection(connectionString)
Dim commandSourceData As SqlCommand = New SqlCommand( _
"SQL Query", sourceConnection)
sourceConnection.Open()
Dim reader As SqlDataReader = commandSourceData.ExecuteReader()
Using destinationConnection As SqlConnection = _
New SqlConnection(connectionString2)
destinationConnection.Open()
Using bulkCopy As SqlBulkCopy = _
New SqlBulkCopy(destinationConnection)
bulkCopy.ColumnMappings.Add("Column1", "Column1")
bulkCopy.DestinationTableName = "local database"
bulkCopy.WriteToServer(reader)
End Using
destinationConnection.Close()
End Using
reader.Close()
sourceConnection.Close()
End Using
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
我收到以下错误:
是的,我的SQL Server配置为允许远程连接。
答案 0 :(得分:1)
在你的连接字符串中:
Server = 111.111.111.111; Initial Catalog = remote database; Network Library=DBMSSOCN; integrated security = true; User ID = domain2\mylogin; Password = myPass;
您指定使用集成安全性和提供无效的凭据。集成安全性始终使用当前登录的用户(或进程正在运行的用户)。
因此,要使用指定的凭据运行,您需要在远程服务器(111.111.111.111
)上启用SQL安全性,然后创建一个具有remote database
相应权限的SQL用户帐户。
然后相应地修改您的连接字符串:
Server = 111.111.111.111; Initial Catalog = remote database; Network Library=DBMSSOCN; User ID = SqlAccountName; Password = SqlAccountPW;
答案 1 :(得分:0)
虽然关于指定集成安全性和用户名的所有其他答案都是正确的,但我认为这不是您唯一的问题。从您得到的错误,无法找到服务器。您可以查看以下内容...
- 你能ping 111.111.111.111
- 远程服务器上是否有防火墙?并且已将其配置为允许SQL连接
- SQL Server浏览器服务是否已启动?
- 是否在SQL Server网络配置中启用了TCP / IP协议
这是一个与你自己有同样错误的问题的答案,还有一些你可以检查的事情。
Connect to SQL Server through IP address
希望有所帮助