如何通过一个连接字符串Sql和Vb.Net连接两个不同的数据库

时间:2012-12-03 16:14:26

标签: sql vb.net visual-studio-2010 sql-server-2008 database-connection

我正在尝试在Studio 2010 / VB.Net中以窗口级别连接到数据库。我在Sql 2008r2中使用两个不同的数据库。我用来在表单加载事件(运行时)填充记录的一个数据库,当用户从该表单中选择他们的选择或任何修改时,应通过instert,更新,删除和保存命令将数据更新到其他数据库以供用户将来参考。

是否可以使用一个连接字符串连接两个不同的数据库?

我是否需要在下面提到的代码中添加两个数据库名称?

Imports System.Data.SqlClient

Dim con As New SqlClient.SqlConnection("data source=DATASOURCE;initial catalog=NAME OF DATABASE;Integrated Security=True")
Dim cmd As New SqlCommand()    
cmd.Connection = con    
con.Open()    
con.Close()

OR

我应该在某处使用两个数据库吗?

Imports System.Data.SqlClient

Public Class NEW_PERSONAL_INFORMATION

  Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

    Dim con As New SqlClient.SqlConnection("data source=ROOM310-40\SQLEXPRESS;initial catalog=DTIS;Integrated Security=True")

    Dim cmd As New SqlCommand()    
    cmd.Connection = con    
    con.Open()    
    con.Close()
  End Sub

End Class

道歉如果我在简单的事情上寻求帮助或者无法解释它。

我将不胜感激。

2 个答案:

答案 0 :(得分:7)

我不知道你在问什么,所以我会给出两个答案。

如果您尝试连接两台不同的服务器,则需要两个不同的连接字符串。实际上,您需要两个不同的SqlConnection,并且您需要跟踪哪个连接是哪个。

Dim con1 As New SqlClient.SqlConnection("data source=ROOM310-40\SQLEXPRESS;initial catalog=DTIS;Integrated Security=True")
Dim con2 As New SqlClient.SqlConnection("data source=ROOM310-40-2\SQLEXPRESS;initial catalog=DTIS;Integrated Security=True")

如果您正在谈论关于同一服务器上的多个目录,那么您不需要多个连接。您只需在查询中直接指定目录名称:

SELECT MyColumn FROM MyDatabase1.dbo.MyTable;
SELECT MyColumn FROM MyDatabase2.dbo.MyTable;

答案 1 :(得分:0)

Dim con As New SqlClient.SqlConnection(“data source = DATASOURCE; initial catalog = NAME OF DATABASEm,Another Database Name,SO; Integrated Security = True”)