用PB开发软件,数据为Oracle9.2 ,不安装客户端,直接将oracle10g即时客户端的oci.dll、oraociei10.dll、 ociw32.dll、orannzsbb10.dll、oraocci10.dll、ocijdbc10.dll的文件和tnsnames.ora配置文件拷贝到程序执行目录,运行程序,连接数据库正常,但数据库库中的汉字为乱码,在注册表中增设[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]目录,在该目录下建立一个字符串值:
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 设置语言后,还是乱码,怎样解决?
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 设置语言后,还是乱码,怎样解决?
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1]
这下面建一个NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
制作成压缩文件,配置目标计算机使用。1.将oracleinstantclient.rar解压缩到一个目录, 如d:\oracleinstantclient2.配置d:\oracleinstantclient的tnsnames.ora文件,只需要修改其中的服务器地址、服务名称和端口。 3、配置环境变量,在PATH变量中加入d:\oracleinstantclient4、注册表加入下面键值 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]"LD_LIBRARY_PATH"="d:\OracleInstantClient""NLS_LANG"="AMERICAN_AMERICA.ZHS16GBK""TNS_ADMIN"="d:\OracleInstantClient"5、如果是ASP.NET应用,则要为ASPNET用户分配d:\oracleinstantclient文件夹的读写权限。通过上面的设置后,即可实现免安装ORACLE客户端,连接到ORACLE数据库服务器。也可以将上面解压缩后的文件和手动过程制作成安装包,实现自动安装。注意:1、用上面的方法,连接oracle9.2,应该也没有问题。2、如果使用JDBC连接,需要到官网下载instantclient-jdbc-win32-10.1.0.2.zip: 包含JDBC Driver的包
总结一下:
1.将oracle10g即时客户端(需安装后才可找到)的
oci.dll
oraociei10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
ocijdbc10.dll
文件找到,拷贝到自己的程序执行目录下。
2.将以前安装连接正常的tnsnames.ora配置文件拷贝到程序执行目录。
3.配置环境变量,在PATH变量中加入自己的程序执行目录。
4.注册表加入下面键值
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"LD_LIBRARY_PATH"="自己的程序执行目录"
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
"TNS_ADMIN"="自己的程序执行目录"
5.执行程序,一切OK!
1.将oracle10g即时客户端(需安装后才可找到)的
oci.dll
oraociei10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
ocijdbc10.dll
文件找到,拷贝到自己的程序执行目录下。
2.将以前安装连接正常的tnsnames.ora配置文件拷贝到程序执行目录。
3.注册表加入下面键值
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
4.执行程序,一切OK!
(可能需重新启机后,注册表设置才可生效)