近期工作需要将Oracle连接才client从32位切换到64位,中间过程比较繁琐,在此记录下来,以便后期查阅。适用情况:Windows 7,已安装32位Oracle,只需要下载64位的instant client重新配置。
配置oracle instantclient
install.packages("ROracle")之前需要进行一些设置:
几个注意事项:
本地可以安装Oracle数据库,也可以不安装,只用instantclinet去连接远程服务器的数据库。不安装数据库的话有些重要文件夹需要自己设置,比如NETWORK,因为之前已经安装过32位Oracle,这些文件夹都是配置过的,这次就在以前的基础上继续配置即可。
新的client文件夹不一定要copy到oracle安装文件夹,copy到那里需要权限,没有权限就copy到别的地方也行,只要配置环境变量的时候配置的地址是对的能找到就可以了。
安装过程:
先去Oracle官网上下载instantclient-basic-windows.x64-12.2.0.1.0.zip和instantclient-sdk-windows.x64-12.2.0.1.0.zip,下到一个文件夹里,然后先后解压basic和sdk,把解压后的文件夹()copy到你想保存的地方,按照那个地址去设置环境变量;
登陆管理员账户,给用户设置全局环境变量的权限;或者不登管理员账户,直接设置当前用户环境下的环境变量也行,反正这电脑也就我自己用;
确认NETWORK文件夹路径下面包含tnsnames.ora文件;
需要配置系统的环境变量,将instantclient所在的地址加到环境变量Path中使得程序能够找到.dll,不然会一直编译不成功。
在R中设置:
Sys.setenv("OCI_LIB64" = "E:/app/instantclient_12_2")
Sys.setenv("OCI_INC" = "E:/app/instantclient_12_2/sdk/include")
install.packages("E:/ROracle_1.3-1.tar.gz", repos = NULL, type = "source", INSTALL_opts = "--no-multiarch")
注意这个地方需要OCI_LIB64还是OCI_LIB32根据需要设置,其他问题可以参考https://cran.r-project.org/web/packages/ROracle/INSTALL安装教程。
可能遇到的一些报错情况
这种是第五步没设置或设置错了;
这种是没有在系统的环境变量Path中加上新的instantclient地址导致的无法编译dll文件。
领取专属 10元无门槛券
私享最新 技术干货