通过odbc的方式在64位服务器访问32位oracle

在安监局的项目中,外网网站需要显示企业申报结果,网站是另一家公司开发的,数据库是oracle,本来我们想开账号让他们访问我们的数据库的,但人家不愿意。后来经过信息中心决定,他们开放数据库,我们在他们oracle数据库里创建相同结构的表,然后往表里写入数据。

刚开始,考虑用链接服务器的方式,将oracle的数据库链接过来,在我本地32位sqlserver上通过了,但在服务器(64)上 却死活不行,最后只好放弃这种方法,也一直没找到原因,后来想通过写一个windows程序,让程序先从64位数据库里取数据,然后通过建立数据源连接到oracle数据库里,数据源建好了,在我本地和64位服务器上都能通过测试,但程序拿到64位服务器上却报错,说未指定驱动名及默认数据源,后来试了半天,将项目属性-》生成-》目标平台由Any Cpu改为x86就可以了。

附tnsname.ora:

JIARUI2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.30.12)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

创建数据源选用的驱动名是: Oracle in OraHome90,然后TNS Service Name设为

JIARUI2,账号和密码设为guide,数据源名最后设为dsn_jiarui,在程序里用到了
OdbcConnection、OdbcDataAdapter、OdbcCommand,其中数据库连接字符串为:

dsn=dsn_jiarui;uid=guide;pwd=guide;其他就跟访问Sql Server一样了
 


 

你可能感兴趣的:(oracle)