1. 程式人生 > >oracle 11g (11.2.0.1.0) OCCI 查詢自動退出的問題

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

OCI

OCCI

JDBC

Basic Lite

Smaller version of the Basic, with only English error messages and Unicode, ASCII, and Western European character set support (10.2 only)

OCI

OCCI

JDBC

JDBC Supplement*

Additional(附加的) support for XA, Internationalization, and RowSet operations under JDBC

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)

ODBC

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