我在 Mac(macOS Mojave 10.14.1)上工作,我正在尝试设置一个 ODBC 驱动程序来连接到 Oracle 数据库(我的最终目标是通过R
使用DBI
包进行连接)。
我没有技术语言来准确表达我的需求,但我认为我需要找出我的驱动程序在哪里并在我的 R 代码中使用它并在我的 ODBC 管理工具中进行设置。
我一直在遵循这方面的说明Oracle 博客:
- 下载版本 12.2.0.1.0(64 位) > 基础 > 基础包
- 下载开发和运行时 > ODBC 包
- 解压并将以上文件存储在此处:
/Users/my_user_name/Applications/instantclient_12_2
- 将文件添加到 macOS 库搜索路径
ln -s $(pwd)/libclntsh.dylib.12.1 $(pwd)/libclntshcore.dylib.12.1 ~/lib
- 对 instantclient_12_2/odbc_update_ini.sh 中的驱动程序名称进行小修补(参见原始说明的链接)
- 运行配置脚本:
sudo sh odbc_update_ini.sh /usr/local
返回*** ODBCINI environment variable not set,defaulting it to HOME directory!
- 然后我这样做:
sudo chown $USER ~/.odbc.ini
这时我迷路了。我.odbc.ini
在这里找到了文件:(/Users/my_user_name/.odbc.ini
我需要输入ls -l -a
现在我不确定如何连接。我不知道如何将驱动程序文件添加到我的 ODBC 管理器,也无法通过 R 访问它。
这是我的 R 代码,我认为我的驱动程序路径是错误的:
> con = DBI::dbConnect(odbc::odbc()
+ ,driver = "/Users/my_user_name/.odbc.ini",
+ ,DBCName = "AUA8"
+ ,MechanismName = "ldap"
+ ,uid = 'user_name'
+ ,pwd = 'my_password')
Error: nanodbc/nanodbc.cpp:950: 01000: [unixODBC][Driver Manager]Can't open lib '/Users/my_user_name/.odbc.ini' : file not found
这是我的 ODBC 管理员的图片如您所见,我只能看到我的 Teradata 驱动程序。我尝试添加 Oracle 驱动程序,但不确定要为我的driver file
和添加什么路径setup file
。
我的数据库技术已经达到极限,因此提前感谢您的帮助。