如何在Julia中从MySQL数据库中获取数据?
看起来这个包提供了连接到任何数据库的工具,包括MySQL。但是,看起来假设我必须首先设置 ODBC DSN 才能连接到它(我首先不知道它是什么,尽管我已经使用 MySQL 两年了)。所以我试图通过阅读MySQL文档中的此页面来配置它...但立即撞墙。
第一,我在OS X 10.8.5中找不到名为myodbc-installer
的命令。第二,没有这样的应用程序称为ODBC Administrator
,相反,我的系统中有ODBC manager
- 所以我认为文档太过时了......右?
此外,即使我打开ODBC manager
并尝试单击User DSN
选项卡上的Add
,屏幕上也没有检测到driver
。那么,如何在Julia中配置ODBC DSN并使用MySQL?
另外,我必须处理如此繁琐的设置过程吗?我想使用一个软件包,如果有的话,它像R中的软件包一样直观和易于使用RMySQL
这不会强迫我关心DSN - Julia中有这样的软件包吗?
我在 Julia 中使用 0.2.0-rc,并且已经通过 Pkg.add("ODBC")
安装了软件包。MySQL 版本是 5.3.6,通过 MAMP 安装。
谢谢。
Jacob Quinn,Julia ODBC 软件包的软件包维护者。
帮助您了解该过程的工作原理的几件事:
-ODBC 是 Microsoft 最初开发的 API 中间层,用于在数据库系统和应用程序之间创建通用接口。这很有用,因为随着不同数据库系统的数量,很难拥有能够可靠地连接到任何数据库的应用程序。
ODBC已通过2个主要项目移植到Linux/Unix/OSX系统:iodbc(主要是OSX)和unixODBC(Linux)
-API 的基本组件是中间层 ODBC 管理器、数据库系统、应用程序和 ODBC 驱动程序,它是特定于数据库的,实际上实现了应用程序-ODBC 管理器和 ODBC 管理器-数据库系统之间的通信。
- 在RMySQL的情况下,只有MySQL驱动程序已经实现了R包装器函数,允许连接到MySQL数据库系统
- 在 ODBC.jl(以及相应的 R RODBC)的情况下,采用了更通用的方法,其中提供了 ODBC 管理器的包装函数,只要用户安装了正确的数据库驱动程序和连接字符串,它允许与任何数据库系统连接
希望这有助于更好地理解 ODBC 过程。
因此,对于您的情况,看起来您没有安装 MySQL 驱动程序,因为它没有显示在您的 ODBC 管理器中。您可以在此处找到驱动程序。
安装驱动程序后,设置DSN应该非常简单(遵循MySQL文档或出色的 connectionstrings.com MySQL部分)。
然后,您应该能够在 julia 中开始使用 ODBC:
Pkg.add("ODBC")
using ODBC
ODBC.connect(dsn)
query("select * from customers")
如果您在设置或安装时遇到任何其他问题或麻烦,请随时在此处提出问题,我非常愿意帮助解决设置问题以帮助您继续。