如何在Visual Basic中连接两个或多个数据库?

时间:2014-09-25 20:50:21

标签: mysql sql database vb.net ms-access

我需要在VB中编写一些连接两个或更多mdb数据库的东西,但我不知道我该怎么做。我想我必须加载所有数据库以逐桌连接。并将其保存为" .mdb" (我不知道那些命令 - 我想我可以找到它们,但如果你能在这里发布它们会很好)。 我用谷歌搜索,但我无法找到正确的答案 - 就像我使用错误的词语来解决我的问题......

如果你可以帮助我,那将是非常好的:)

数据库示例:
DB1:
-DB1_Table1
-DB1_Table2
-DB1_Table3

DB2:
-DB2_Table1
-DB2_Table2
-DB2_Table3

ConnectedDB(DB1 = master / DB2 = slave):
-DB1_Table1 + DB2_Table1
-DB1_Table2
-DB1_Table3 + DB2_Table3

1 个答案:

答案 0 :(得分:2)

在" C:\ Users \ Public \ test \ DB1.mdb"我有[DB1_Table1]包含

ID  DB1_Text
--  --------------
 1  value from DB1

在" C:\ Users \ Public \ test \ DB2.mdb"我有[DB2_Table1]包含

ID  DB2_Text
--  --------------
 1  value from DB2

在VB.NET中使用以下代码......

Using con As New OleDbConnection
    con.ConnectionString =
            "Provider=Microsoft.ACE.OLEDB.12.0;" &
            "Data Source=C:\Users\Public\test\DB1.mdb;"
    con.Open()
    Using cmd As New OleDbCommand
        cmd.Connection = con
        cmd.CommandText =
                "SELECT " &
                    "DB1_Table1.DB1_Text, " &
                    "DB2_Table1.DB2_Text " &
                "FROM " &
                    "DB1_Table1 " &
                    "INNER JOIN " &
                    "[;Database=C:\Users\Public\test\DB2.mdb].DB2_Table1 " &
                        "ON DB1_Table1.ID = DB2_Table1.ID"
        Dim rdr As OleDbDataReader = cmd.ExecuteReader
        Do While rdr.Read
            Console.WriteLine(rdr("DB1_Text") & " | " & rdr("DB2_Text"))
        Loop
    End Using
    con.Close()
End Using

...生产

value from DB1 | value from DB2