无法通过 ODBC 将 Access 连接到 SQLlite

Posted

技术标签:

【中文标题】无法通过 ODBC 将 Access 连接到 SQLlite【英文标题】:Unable to connect Access to SQLlite via ODBC 【发布时间】:2013-08-16 16:00:01 【问题描述】:

我有一个 Access 97 数据库,它作为前端,通过 ODBC 和链接表连接到在 Wiin7-64 下运行的 mysql 数据库。 (是的,它确实有效!)该数据库包含有关我居住的法国地区的礼拜场所和朝圣场所的信息。此外,我在 Photoshop Elements 9 中拥有数万张网站的照片。PSE9 的底层数据库引擎是 SQLite,其中包含有关照片的有趣数据(标题、我喜欢哪些等)。我想从 Access 链接到 SQLite 数据库中的表,就像我链接到 MySQL 数据库一样。

我的问题:我无法创建到 PSE9 SQLite 数据库的 ODBC 连接。我通过 Google 进行了多次搜索,在 *** 和其他地方阅读了多个帖子,尝试了各种建议,但仍然没有 ODBC 连接,无论是在 Win7-64 的 32 位或 64 位 ODBC 工具中。我被难住了。

到目前为止,我已经

从http://www.ch-werner.de/sqliteodbc/ 下载 sqliteodbc.exe 并运行(多次) 将 sqlite3odbc.dll、sqlite3.def、sqlite3.dll 和 sqlite3.exe 复制到 \windows\system32 文件夹 在 Windows 命令行输入此命令:“rundll32 c:\windows\system32\sqlite3odbc.dll,install”,产生此错误消息“Copy c:\windows\system32\sqlite3odbc.dll to c:\windows \system32\sqlite3odbc.dll 失败。”

当我查看 ODBC 和 ODBC(32 位)窗口时,我没有找到 SQLite 的用户 DSN、系统 DSN 或文件 DSN。有什么建议吗?

谢谢, 哈维在温暖的波尔多

【问题讨论】:

【参考方案1】:

所有复制 dll 的问题 - 你不需要做任何事情。只需下载 32 位版本并双击它 - 将安装驱动程序。然后找到 32 位 ODBC 管理器(注意 64 位窗口有 2 个,只有一个是 32 位的),启动它并创建一个 DSN。您应该会在驱动程序选项卡中看到 sqlite3。

【讨论】:

我以为我说过我已经做到了。 SQLite3 不在驱动程序选项卡中。 bohica,我想欠你一个道歉。没错,我没有指定我在所有可以添加 DSN 的地方都单击了所有“添加”按钮。【参考方案2】:

DSN 不会自动出现,您必须自己创建它们。 ODBC 管理员中应该有一个“添加”按钮。然后选择驱动程序“SQLite”的类型,然后在下一个对话框中配置详细信息。

DSN 通常包含连接到特定数据库实例所需的所有配置信息,因此所有这些信息(可能因一个数据库系统与另一个数据库系统不同)都可以通过一个名称引用。这就是名称“数据源名称”的由来。

【讨论】:

FrankPI,正如我在帖子中试图建议的那样,当我转到 ODBC 管理员并单击“添加”按钮时,列表中没有 SQLite 驱动程序。这是真的,无论我尝试在 32 位 ODBC 管理员还是 64 位 ODBC 管理员中的用户 DSN、系统 DSN 或文件 DSN 选项卡下。哈维 那么你的安装没有成功。您写道,您在安装过程中收到了一条错误消息。也许您将不得不以管理员身份重新运行它,并将 dll 移动到另一个位置,以便它可以将自身复制到它想要的位置。 问题已解决:我在 SysWOR64 文件夹中找到了两个 sqlite 例程(sqliteodbc.dll 和 sqliteodbcu.dll),将它们重命名并成功重新运行 sqliteodbc.exe。然后启动 Access 97,点击 New table 按钮,选择 Link Table 并选择文件类型 ODBC 数据库。在打开的 Select Data Source 窗口中,我单击 New 按钮并选择了我现在找到的 SQLite3 ODBC 驱动程序。从那里开始走下坡路。感谢您的帮助。 应该是 SysWOW64 文件夹。

以上是关于无法通过 ODBC 将 Access 连接到 SQLlite的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 ODBC 驱动程序将 Java 程序连接到 Access 2010 数据库

无法打开 Access ODBC 连接

在 Windows 10 上通过 ODBC 连接到 Access 数据库时出现 IIS 500 错误

如何使用映射的网络驱动器通过数据源 (ODBC) 连接到 Access 数据库?

通过 ODBC 连接到 SQL Server 的 Access 中的 MS SQL 查询

通过 Java jdbc odbc 连接到 Access 文件期间出现“超出系统资源”