使用vb.net中的代码创建与ODBC数据源的连接

时间:2013-12-21 08:08:02

标签: vb.net visual-studio-2010 .net-4.0

我正在尝试使用代码将vb.net(Visual Studio 2013)连接到MS Access Database 2007(.accdb)。但是我的代码出了点问题,我无法理解。

数据库名称为“localDatabase.accdb”

我没有在我的数据库上输入任何密码

我正在使用64位

提前致谢!

这是我的代码:

Module Module1
Dim conn As New System.Data.Odbc.OdbcConnection
Public Sub ConnectToOdbc()

    conn.ConnectionString = Provider=Microsoft.ACE.OLEDB.12.0;Data Source="C:\Users\MyPc\Documents\Visual Studio 2013\Projects\database\localDatabase.accdb"

    Try
        conn.Open()
    Catch ex As Exception
        MessageBox.Show("Failed to connect to data source")
    Finally
        conn.Close()
    End Try

End Sub

End Module

2 个答案:

答案 0 :(得分:1)

这只是一个假设..
我现在在我的应用程序上使用ACE 12.0,它工作正常。不同的是代码尝试使用这个..

Imports System.Data.OleDb
'instead of obdc
con = New OleDbConnection
    con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = " & Path.Combine(Application.StartupPath, "YourDatabase.accdb")
'put your .accdb in your app folder

可能是错误是找不到你的.accdb文件。

答案 1 :(得分:0)

更改此行:

conn.ConnectionString = Provider=Microsoft.ACE.OLEDB.12.0;Data Source="C:\Users\MyPc\Documents\Visual Studio 2013\Projects\database\localDatabase.accdb"

到此:

conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\MyPc\Documents\Visual Studio 2013\Projects\database\localDatabase.accdb"

ConnectionString作为名称tell是一个字符串,因此您需要用双引号将其包装起来,以便VB编译器将其识别为字符串。

更新:

您还需要将连接对象从Odbc更改为OleDb:

Dim conn As New System.Data.OleDb.OleDbConnection