第一种方法:
最近有一任务,需要使用Oracle数据库,以前对此不太熟悉,就从网上查找资料,(说实在的网络真是太好了,也多亏了许多的热心的技术人员,愿意把自己的经验和心得与大家分享)并转贴了一个帖子参考,不过此帖子有些地方没有说清楚,确实让我费了好大劲,才测试成功。下面我把我的步骤说明一下:(环境:Windows XP sp2 + vs 2008)
1、先从Oracle官网下载便捷客户端 InstantClient(需要注册一个用户,免费的) (http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html)我下载的是instantclient-basic-win32-10.2.0.4.zip(http://download.oracle.com/otn/nt/instantclient/10204/instantclient-basic-win32-10.2.0.4.zip)
2、解压缩后找到 instantclient_10_2 文件夹,把它复制到D:盘根目录下,设置环境变量,使包含D:/instantclient_10_2
3、在D:/instantclient_10_2目录下建立 network/admin 文件夹
4、在D:/instantclient_10_2/network/admin/文件夹下创建 tnsnames.ora 文本文件,内容如下
# tnsnames.ora Network Configuration File: D:/instantclient_10_2/tnsnames.ora
# Generated by Oracle configuration tools.
THUNDER = /*这是Oracle服务器的服务名称*/
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.152.91)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = thunder) /*服务器数据库服务的名字*/
)
)
最好的办法是到安装Oracle服务器的机器上搜索tnsnames.ora文件,复制过来
5、连接字符串为"Provider=MSDAORA;Data Source=thunder;User ID=thunder"
OK!
第二种方法:
不用安装oracle客户端也可以用plsql连接远程oracle
关键字: plsql连接远程oracle
每次问人家,plsql 可不可以直接远程连接服务器,他们都说要安装客户端,记得以前用过个什么sql deveplore 什么的工具,不用安装客户端的,而且是绿色软件来的,我就想,一定就办法,不用这么麻烦安装客户端的。上网找了找,下面把我的实践详细过程记录下来,希望对大家有帮助,有什么不对的,请大家多多评论,指出来。
1、在安装ORACLE服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
放到一个文件夹,如 oraclient
2、配置tnsnames.ora,如果本机上没有安装oracle,
可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在%ORACLE_HOME%/network/admin下)放在上面的目录D:/oraclient下。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracledata)
)
)
3、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:/oraclient,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。
4、设置ORACLE的语言,添加环境变量:
“NLS_LANG = SIMPLIFIEDCHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)