【问题标题】:OLEDB Connection won't connect to Access 2013 databaseOLEDB 连接不会连接到 Access 2013 数据库
【发布时间】:2014-05-13 21:11:15
【问题描述】:

我正在尝试使用 OLEDB 连接将我的数据库加载到我的 Visual Basic 程序中。但是,我收到此错误:“找不到可安装的 ISAM。”

我使用的是 Microsoft Access Database 2013。据我所知,12.0 是正确的版本。

这是我的代码:

    Dim con As New OleDb.OleDbConnection
    Dim databaseprovider As String
    Dim dblocation As String
    databaseprovider = "PROVIDER=Microsoft.ACE.OLEDB.12.0;"
    dblocation = "Date source = C:\HotelBookingDatabase.accdb"
    con.ConnectionString = databaseprovider & dblocation
    con.Open()
    MsgBox("open")
    con.Close()
    MsgBox("closed")

编辑 - 我已将“数据源...”更改为“数据源...”并安装了 2007 Office System 驱动程序,但这对我的事业没有帮助。

编辑 #2 - 今天再次查看上面的代码。我解决了这个问题。我的代码不是“数据源”,而是“日期源”。哎呀。更新的代码,有效:

        Dim con As New OleDb.OleDbConnection
        Dim dbprovider As String
        Dim dbsource As String
        dbprovider = "PROVIDER=Microsoft.ACE.OLEDB.12.0;"
        dbsource = "Data Source = C:\HotelBookingDatabase.accdb;"
        con.ConnectionString = dbprovider & dbsource
        con.Open()
        MsgBox("ok")
        con.Close()
        MsgBox("bye")

【问题讨论】:

  • 你有“日期来源”,是正确的还是只是一个错字。你见过这个吗? kb.tableausoftware.com/articles/knowledgebase/…
  • 如果您从使用OleDbConnectionStringBuilder Class 开始,您将避免使用“日期源”而不是“数据源”之类的拼写错误。此外,C: 的根目录是放置文件的特别糟糕的地方。
  • @ChrisHaas 谢谢,我没有注意到这一点,但即使我改变了它 - 它仍然给了我同样的错误。我想我必须下载您提供的链接中的软件?也感谢安德鲁。
  • 我安装了 2007 Office System 驱动程序,但这也无济于事。原谅我的无知,但如果我没有 con.open 代码等,我的数据库还能运行吗?没有这条线似乎运行良好,但显然这对我不利,因为我不知道数据库是否“打开”。
  • 您是否应该在dblocation 的结尾和databaseprovider 的开头之间留一个空格?

标签: vb.net oledb


【解决方案1】:

我已经解决了这个问题。

我将代码更改为:

Dim con As New OleDbConnection("Provider=MICROSOFT.ACE.OLEDB.12.0; Data Source=C:\HotelBookingDatabase.accdb")

        con.Open()
        MsgBox("ok")
        con.Close()
        MsgBox("bye")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多