OCI連接oracle數據庫,不用安裝客戶端(不需要tnsnames.ora來指定數據庫ip地址),不需要服務命名

本來使用oracle數據庫提供的訪問數據庫的接口OCI連接數據庫,一般採用“服務命名”來指定數據庫ip地址和數據庫實例名,配置在tnsnames.ora裏面的,所以在程序裏面就不用寫死數據庫的ip地址和數據庫實例名了,這樣達到了程序移植不需要修改程序而只需修改配置的目的。
但是這樣一來就引起了另外一個問題,想要跑數據庫操作的程序就必須安裝oracle數據庫客戶端,配置數據庫所需的環境變量,實在是太麻煩了。所以現在我想是否能夠實現不用安裝客戶端也不用配置環境變量的方法,想到sqlplus能通過直接指定ip地址和數據庫實例名連接,故用程序肯定也能實現。

sqlplus連接數據庫可以這樣,所以在oci中我把需要“服務命名”的地方我改爲下面單引號中的串,實驗一下,結果連接成功。就是這麼簡單。當然,所需要的oci.dll(windows系統中)或者libclntsh.so(linux系統中)的動態庫文件還是需要的。自己的水平有限,歡迎一起學習OCI編程,或者是linux c編程,我的一個羣號:284635371

sqlplus user/pwd@'(DESCRIPTION=(ADDRESS=(protocol_address_information))
(CONNECT_DATA=(SERVICE_NAME=service_name)))'

sample:

sqlplus test/test@'(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
(Host=yourDBhost)(Port=1521))(CONNECT_DATA=(SERVICE_NAME=ARK2)
(SERVER=DEDICATED)))'

SQL*Plus: Release 9.2.0.1.0 - Production on Fri Jul 26

Copyright (c) 1982, 2002, Oracle Corporation.
All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

SQL>

發佈了23 篇原創文章 · 獲贊 4 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章