但是这样一来就引起了另外一个问题,想要跑数据库操作的程序就必须安装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>