【问题标题】:What is the purpose of an ODBC driver when connecting to a MySQL server?连接到 MySQL 服务器时,ODBC 驱动程序的用途是什么?
【发布时间】:2020-08-15 00:55:53
【问题描述】:

我一直想知道使用 ODBC 驱动程序与 MySQL 服务器交互有什么好处?这比通过 TCP 直接连接到服务器并直接触发 SQL 命令有什么优势?

我正在使用 LabVIEW 编写的代码库,该代码库引用 UDL 文件,该文件引用数据源及其关联的 ODBC 驱动程序来处理与服务器的连接。我还不相信它是必要的。如果您连接到 Microsoft Access 或 excel,我可以看到使用驱动程序的好处,但如果您的收件人是某种类型的 SQL 服务器,为什么您需要中间人来处理您的 SQL 命令?

【问题讨论】:

    标签: mysql database odbc


    【解决方案1】:

    我已经使用 ODBC 驱动程序 3.51 连接到 MySQL Community Server 5.1 有一段时间了。 ODBC 驱动程序允许您(在 Windows 计算机上)将 MySQL 连接添加到 ODBC 数据源列表。现在您可以在许多兼容的应用程序中引用此数据源。我已经能够在 VB.Net 应用程序以及用于打印和其他具有 ODBC 功能的专有应用程序中使用此 ODBC 连接。

    我会说,在编写 web 或 python 应用程序时,我总是使用内置的 MySQL 包,但如果您需要通过 VB.Net 或其他专有应用程序(如独立的 Windows 应用程序)访问您的数据,您可能需要设置系统 ODBC 数据源以访问您的数据库。对我来说,ODBC 让 Windows 轻松访问 MySQL。如果没有 Windows,我认为您不需要它。

    【讨论】:

    • 能够在同一台机器上的不同应用程序之间共享数据源,并抽象连接凭据,这很有意义。
    • 正确的好点,您设置一次,然后可以在许多应用程序中使用连接。
    【解决方案2】:

    为什么选择 ODBC 而不是 JDBC?在使用 JDBC 时,按照有用性排序,我想到了一些原因:

    1. 用于访问查询结果的标准 api。迭代结果并获取具有适当类型的实际值。
    2. 无需知道协议是如何连接到服务器的。只需使用主机、用户、密码、发送 SQL 并迭代结果。
    3. 抽象出与数据库的连接。更改数据库应该更简单。
    4. 提交和回滚基于事务的更改的标准方式。

    根据我的经验,JDBC 非常冗长。你需要写很多行来完成简单的事情。我发现 Spring JDBCTemplate 包装器对于简单的东西来说是一个非常易于使用的替代品。

    【讨论】:

    • 谢谢。连接抽象与用于访问查询结果的标准 api 一起非常有意义。
    猜你喜欢
    • 2020-11-24
    • 1970-01-01
    • 2021-01-03
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    相关资源
    最近更新 更多