Windows连接oracle

本文记录在 Windows 7 64bit 系统安装 OCI 并连接 oracle。

下载 64 版本的 OCI

地址:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
版本。
一般下载三个压缩包:Basic 版本(基础包)、ODBC 版本(有用于安装的exe)、SDK 版本(有静态库,用于开发)。压缩包不同,但内含目录一致,解压到当前目录即可。
下载需注册,除账号密码邮箱外,其它填写内容可自行发挥(不一定要真实的)。

下载地址一览:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2021.1.19更新:
三大件 19.9 64 版本:
https://download.oracle.com/otn_software/nt/instantclient/19900/instantclient-basic-windows.x64-19.9.0.0.0dbru.zip
https://download.oracle.com/otn_software/nt/instantclient/19900/instantclient-odbc-windows.x64-19.9.0.0.0dbru.zip
https://download.oracle.com/otn_software/nt/instantclient/19900/instantclient-sdk-windows.x64-19.9.0.0.0dbru.zip


32版本地址:https://www.oracle.com/database/technologies/instant-client/microsoft-windows-32-downloads.html

19.9 三大件
https://download.oracle.com/otn_software/nt/instantclient/19900/instantclient-basic-nt-19.9.0.0.0dbru.zip
https://download.oracle.com/otn_software/nt/instantclient/19900/instantclient-odbc-nt-19.9.0.0.0dbru.zip
https://download.oracle.com/otn_software/nt/instantclient/19900/instantclient-sdk-nt-19.9.0.0.0dbru.zip

注:如果下载旧版本,可修改地址的版本号,如19.3版本的sdk:
https://download.oracle.com/otn_software/nt/instantclient/19300/instantclient-sdk-nt-19.3.0.0.0dbru.zip

12.2.0.1.0版本下载:
https://download.oracle.com/otn/nt/instantclient/122010/instantclient-odbc-windows.x64-12.2.0.1.0-2.zip
https://download.oracle.com/otn/nt/instantclient/122010/instantclient-sdk-windows.x64-12.2.0.1.0.zip
https://download.oracle.com/otn/nt/instantclient/122010/instantclient-basic-windows.x64-12.2.0.1.0.zip

本文用最新版本instantclient_19_9。将压缩后的目录拷贝到指定目录,示例:D:\oracle\instantclient,下用 ORACLE_HOME 代替。

设置环境变量

1
2
3
4
ORACLE_HOME D:\oracle\instantclient
NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN D:\oracle\instantclient
Path D:\oracle\instantclient

修改编辑ORACLE_HOME\tnsnames.ora,如果没有,从别处拷贝一份。格式类似:

1
2
3
4
5
6
7
8
oracle_inner =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.234.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = helowin)
)
)

注:oracle_inner为自定义的数据源,后续需使用。实际中只需修改HOST主机 IP(即oracle服务所在IP) 和 SERVICE_NAME 服务名称(oracle数据库名?)。

安装

进入ORACLE_HOME目录,执行odbc_install.exe,最好使用管理员打开cmd,切换该目录,再执行。

配置

打开控制面板,找到:管理工具ODBC数据源或者 ODBC数据源(32 位),打开之。
默认页面为“用户DSN”,点击添加,找到对应版本的ODBC,本文为Oracle in instantclient,输入信息,测试连接。

除外

如果ODBC数据源没有找到版本,打开目录 C:\Windows\SysWOW64。双击运行odbcad32.exe。
点击添加按钮,找到对应版本的ODBC。点击完成,添加数据源(Data Source Name)、服务名(TNS Service Name,可下拉选取)、用户名,点击Test Connection,输入密码。成功后,点击“OK”保存。
注:数据源和服务名一般保持一致,其名称在tnsnames.ora定义,要先在该文件设置好。用户名为登录oracle数据库的用户。

注0:ODBC数据源界面看到的名称,可认为是数据源,在代码中可直接使用,如上述的oracle1等。
注1:不同系统,不同版本,结果可能不同。
注2:本文安装目录为instantclient,是因为要尝试多种版本,每次改环境变量麻烦。在选择源时只显示Oracle in instantclient,如目录带版本号,则会显示出来。

2021.1.30 差不多半年后的PS:
初次安装 oci 时,原系统已经有一旧版本,其时无法使用新版本。后在一台新电脑上(实质为公司电脑,硬盘挂了重装了)重试,按文中步骤成功。
后又在个人电脑上安装。得到结论:个人电脑为 Win10 系统,可安装19版本;公司电脑为 Win7 系统,只能安装12版本。

PS:
navicat 连接 sqlserver无法初始化,D:\Program Files\PremiumSoft\Navicat Premium 12 双击 sqlncli_x64.msi(64位系统)安装。