如题,一共有几个问题不清楚:1、.net的C#,是否可以使用thin的方式连接到oracle8.17数据库(据说此方式不需要安装客户端)?如果可以,连接字符串应该如何写?(如果有,请提供正在使用的原始连接字符串,谢谢^_^)2、oracle8.17是否有64位的版本?3、如果服务器上安装的oracle8.17是32位版本。在64位windows2003的操作系统下安装32位oracle8.17版本的客户端时,访问32位oracle时提示错误的情况如何处理?4、如果服务器上安装的32位oracle 8.17,客户端分别是32位操作系统,和64位操作系统情况下,客户端都可以安装什么版本的oracle才能访问32位oracle8.17的数据库?
http://www.oracle.com/technology/sample_code/tech/windows/odpnet/howto/connect/index.html
我现在的是Oracle 8.17 32位,使用最新的Oracle 11g ODAC 来能否访问到?
64位的客户端能否访问32位的??
那就是说,客户端只能使用8及9i的版本访问8的数据库。
能确定这个情况吗?
因为我不会用Oracle,现在也没有相应的环境来测试。需要各位使用过的人员来确定一下。
实际上在安装ODP.NET时,貌似也安装了Oracle客户端。安装时东西还不少。安装包200多M。能不能说下,安装ODP.NET与安装Oracle客户端,都有什么区别啊?
我不是很清楚
今天刚用64位的Oracle 10g(64位windows2003操作系统下),连接了一下32位的Oracle8.17的服务器。在Net Configuration Assist配置完后,测试连接成功。但使用sql plus连接时出错,提示:
ORA-12154: TNS:could not resolve the connect identifier specified.
然后使用连接字符串:
System.Data.OracleClient的OracleConnection对应:"Data Source=edms;User ID=csnedmssa;Password=csnedmssa"
OleDbConnection方式:"Provider=MSDAORA;Password=csnedmssa;User ID=csnedmssa;Data Source=edms;Persist Security Info=True"
OdbcConnection方式:"Driver={Microsoft ODBC for Oracle};Server=edms;Uid=csnedmssa;pwd=csnedmssa;"
这三种方式连接都不成功。但另一种方式:
System.Data.OracleClient的OracleConnection的字符串:"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.101.250.2)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=edms)));User Id=csnedmssa;Password=csnedmssa;"
这种方式就可以取到数据。不知道什么原因。