dongbeizhi 发表于 2012-08-16 16:46

oracle通过odbc用dblink连接报内存错误,请指点

RT



测试环境:

OS:winxp-sp3

DB:oracle10g

    Postgresql8.3

步骤:

1.在本机安装Postgresql for odbc驱动

2.在ODBC中创建名为名为ora2pg的postgresql连接

3.在ORACLE_HOME\HS\ADMIN中创建文件initora2pg.ora文件,内容为:
HS_FDS_CONNECT_INFO = ora2pg   (此处ora2pg为ODBC中的连接名)
HS_FDS_TRACE_LEVEL = 0

4.配置tnsnames.ora,它位于ORACLE_HOME\NETWORK\ADMIN
填加如下代码:
pg =
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = ora2pg))      #此处为文件initora2pg.ini中的ora2pg

      (hs=OK)            #打开hs服务选项
    )

5.配置listener.ora,它位于ORACLE_HOME\NETWORK\ADMIN。

在这个文件中增加如下代码:
SID_LIST_LISTENER =
(SID_LIST =
   (SID_DESC =
      (SID_NAME = ora2pg)               #此处为文件initora2pg.ini中的ora2pg,此处名称要与tnsnmaes中的名称一致
      (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
      (PROGRAM = hsodbc)               #要使用的HS服务程序,如果使用OLE DB,程序名为hsole
    )
)

6.重新启动oracle listener

7.在oracle中创建DATABASE LINK
create database link "ora2pg" connect to "test" identified by "test" using 'pg'; --此处test为postgresql的登录名和密码

8.测试dblink

select * from "test"@ora2pg ;    --此处test为postgresql中的表名


************************************************************************************************

用上述方法能够建立连接,也能查出结果,但是PLSQL Developer的查询窗口一关闭就会报hsodbc.exe应用程序错误,内存不能为“read”

四台电脑只有一台不报错,报错的三台中有一台专门重新做了系统只装了oracle 和odbc驱动。
郁闷了一个月了,请大家指点,谢谢

dongbeizhi 发表于 2012-08-16 18:05

求助

本帖最后由 dongbeizhi 于 2012-08-20 14:33 编辑

:-L沙发自己2,自己顶一下,郁闷的,会的人不多。都不知奥问题出在什么地方!!

今天第二天了,浏览人数飙至54,但是回复却还是没有……期待您的解答,万分感谢!

再更新一次……还是没有人知道吗?给点思路也行啊!


补充:pl sql的查询窗口已关闭就会把内存错误,单数数据读写没有问题,用命令窗口查询没问题,但是只要退出sqlplus就报错,同样的错误。

Hongqiyaodao 发表于 2012-09-27 08:18

页: [1]
查看完整版本: oracle通过odbc用dblink连接报内存错误,请指点