【问题标题】:opening an mdb access file without access在没有访问权限的情况下打开 mdb 访问文件
【发布时间】:2010-11-23 12:26:57
【问题描述】:

我没有 microsoft 访问权限,但想打开一个 mdb 文件,有什么办法吗?

mdb 文件包含我需要的 SQL 代码。它只是一个连接到远程数据库的文件。我需要查看sql代码

我确实尝试过 openoffice base,但它只显示了一些表格。没看到sql代码在哪里?

【问题讨论】:

  • SQL 代码是什么意思?访问查询?

标签: .net ms-access ms-jet-ace


【解决方案1】:

此 VBScript 将从您的 MDB 数据库中保存的查询中打印出 SQL 语句。

Option Explicit
Dim dbe
Dim db
Dim qdf

Set dbe = CreateObject("DAO.DBEngine.36")
'change the next line to include the full path to your database
Set db = dbe.OpenDatabase("C:\SomeFolder\YourDatabase.mdb")
For Each qdf In db.QueryDefs
    If Left(qdf.Name,1) <> "~" Then
        Wscript.StdOut.WriteLine qdf.Name
        Wscript.StdOut.WriteLine qdf.SQL
        Wscript.StdOut.WriteLine String(20, "-")
    End If
Next
Set db = Nothing
Set dbe = Nothing

我将它保存为 DumpQuerySQL.vbs,然后像这样从命令提示符运行它:

cscript DumpQuerySQL.vbs > querySQL.txt

【讨论】:

  • MDAC 与它无关。 Jet 4.0 是操作系统的一部分,默认情况下包含 DAO。不过,根据您的开发平台,OLEDB 可能是更好的选择。不过,您的代码很好。 +1
  • 当时我误解了我读到的有关 MDAC 2.8 的内容。从您的评论来看,听起来我仍然可以在没有 Access 的情况下将 DAO 用于 Vista 和 Win7 机器。我喜欢这样。
  • HansUp。 Jet 4.0/DAO 仍然作为 Vista 和 Win 7 操作系统的一部分存在。
  • 无法使用 DAO 提取定义 CHECK 约束的 SQL 代码 ;)
【解决方案2】:

通过 ADO.NET 和几乎任何其他方法“访问”它都可以解决问题。

善良,

【讨论】:

    【解决方案3】:

    大多数版本的 Windows 中包含的 Jet 驱动程序可以做到这一点。您可以通过首选的提供程序或 API(ODBC、ADO、ADO.NET)使用 Jet 驱动程序。连 Excel 也支持(打开文件,选择 MDB)。

    【讨论】:

    • 它在 MDAC 中。 MDAC可以单独安装
    • Jet 已经很多年没有包含在 MDAC 中了——它不需要包含,因为自从 Win2000 发布以来它就成为了 Windows 的一部分。
    【解决方案4】:

    visual studio 能够通过其数据源功能查看和修改访问数据库。

    您可能还想查看 FlySpeed SQL Query,它可以“即时”查询各种数据库

    【讨论】:

    • mdb 文件包含我需要的 SQL 代码。它只是一个连接到远程数据库的文件。我需要查看sql代码
    【解决方案5】:

    你试过openoffice base吗?我很幸运能转换 MDB 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 2013-05-29
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      相关资源
      最近更新 更多