oracle 11g (11.2.0.1.0) OCCI 查詢自動退出的問題
今天,同事說使用vs2010 occi 連線oracle 11g (11.2.0.1.0)
在進行查詢操作時,程式自動退出。
經查發生在執行ResultSet的next()函式時,程式退出的。
經查發現 oracle 11g 的版本是11.2.0.1.0,需要對oracle 11g 的版本進行升級。但是沒法下載高版本的oracle,需要購買授權。
最後發現可以通過安裝Oracle Instant Client,實現客戶端的功能。趕忙找到一個高版本的InstantClient。
一頓配置之後,果然問題解決了。
Oracle
Instant Client的安裝和使用
Instant Client Package |
Description |
Notes |
Basic |
All files required to run OCI, OCCI, and JDBC-OCI applications |
|
Basic Lite |
Smaller version of the Basic, with only English error messages and Unicode, ASCII, and Western European character set support (10.2 only) |
|
JDBC Supplement* |
Additional(附加的) support for XA, Internationalization, and RowSet operations under JDBC |
|
SQL*Plus* |
Additional libraries and executable(可執行的) for running SQL*Plus with Instant Client |
|
ODBC Supplement* |
Additional(附加的) libraries for enabling ODBC applications with Instant Client (Not all platforms) |
|
SDK* |
Additional header files and an example makefile for developing Oracle applications with Instant Client |
|
ODAC* |
Includes ODP.NET, Oracle Services for MTS, Oracle Providers for ASP.NET, Oracle Provider for OLE DB, and OO4O with Oracle Instant Client |
標*的為可選軟體包。
1、以11.2.0.2.0版本為例,下載Basic軟體包(要支援中文只能下載Basic軟體包)
2、解壓縮必須包到C:\Oracle\instantclient_11_2
3、設定環境變數:
NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN=C:\Oracle\instantclient_11_2
Path=C:\Oracle\instantclient_11_2;%Path%
為避免訪問資料庫時出現中文亂碼,NLS_lANG的設定很重要;TNS_ADMIN如不設定,tnsnames.ora預設定址為Instant Client目錄下的network\ADMIN目錄;%Path%為原有Path變數。
4、參照下面內容編寫tnsnames.ora,並儲存到安裝目錄:C:\Oracle\instantclient_11_2
# TNSNAMES.ORA Network Configuration File: C:\oracle\ora90\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
#sample
#DATABASENAME =
# (DESCRIPTION =
# (ADDRESS_LIST =
# (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
# )
# (CONNECT_DATA =
# (SERVICE_NAME = servicename)
# )
# )
如果有要連線多個Oracle例項,請繼續往該檔案中加入其它例項的配置。
5、測試:
C:\Oracle\instantclient_11_2>sqlplus /nolog
SQL*Plus: Release 11.2.0.2.0 Production on Fri Sep 9 09:42:06 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn username/password @ <連線字串>
至此,安裝已經完成。PLSQL Developer等工具,以及應用軟體都可以正常使用了。
附錄:Linux下環境變數設定
如解壓到了/usr/local/oracle目錄,配置好TNS_ADMIN、LD_LIBRARY_PATH等,複製到.bashrc檔案部分內容如下:
export ORACLE_HOME=/usr/local/oraclexport TNS_ADMIN=$ORACLE_HOME/NETWORK/ADMIN eexport LD_LIBRARY_PATH=$ORACLE_HOME _LANG=AMERICAN_AMERICA.ZHS1export SQLPATH=$ORACLE_HOME export NL S6GBK PATH=$PATH:$ORACLE_HOMEexport PATH