标签: heterogeneous-services

通过数据库链接将Oracle连接到SQL Server

我正在尝试从Oracle 10G(在UNIX上)连接到SQL Server数据库(在Windows上).我查看了手册,我承认我发现文档很难遵循.似乎有几个选项可供使用,但没有一个文档描述每个选项的工作原理.

作为一个例子,我已经获得了有关我需要连接的数据库的以下信息(即SQL Server数据库)

  • 用户名
  • 密码
  • 数据库名称[假设数据库名称为data_extract]

为了连接上面我做了以下更改

$ ORACLE_HOME/HS /管理/ inithsodbc.ora

  HS_FDS_CONNECT_INFO = data_extract
  HS_FDS_TRACE_LEVEL = 0
Run Code Online (Sandbox Code Playgroud)

$ ORACLE_HOME /网络/ admin/tnsnames.ora中

  sqlserver.db =
          (DESCRIPTION =
                  (ADDRESS = (protocol=tcp)(host=10.10.10.10)(port=49400))
                          (connect_data = (sid=data_extract))
                          (hs=ok)
          )
Run Code Online (Sandbox Code Playgroud)

$ ORACLE_HOME /网络/管理/ listener.ora中

  LISTENER =
    (DESCRIPTION_LIST =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = merlin)(PORT = 1525))
      )
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
    )

  SID_LIST_LISTENER =
    (SID_LIST =
      (SID_DESC =
        (SID_NAME = PLSExtProc)
        (ORACLE_HOME = /u/app/oracle/product/10.2.0/db)
        (PROGRAM = …
Run Code Online (Sandbox Code Playgroud)

database sql-server oracle heterogeneous-services

9
推荐指数
1
解决办法
4万
查看次数

dbms_hs_parallel失败并出错

我想使用dblink和dbms_hs_parallel包从oracle加载并行数据到oracle.为了做到这一点,我有下面列出的plsql:

declare
  lInserted number;
begin
  dbms_hs_parallel.LOAD_TABLE('SIEBEL.S_LOY_CARD','SIEBEL', 'BRED_SIEBEL_CARDS', true, 16, lInserted);
  dbms_output.put_line(lInserted);
end;
Run Code Online (Sandbox Code Playgroud)

所有DB对象都有效但我收到错误

"ORA-00904:"DBMS_HS_PASSTHROUGH"."AGENT_CLASS_NAME":标识符无效

ORA-06512:在"SYS.DBMS_HS_PARALLEL",第1097行

ORA-06512:第4行".

我很确定它在尝试插入时失败了.因为如果我的数据库中没有BRED_SIEBEL_CARDS,则包会创建它.这意味着程序包执行预期的操作,但不会丢失数据.

sql oracle plsql heterogeneous-services

5
推荐指数
1
解决办法
340
查看次数

语言整合

我可能是这里的少数民族,但似乎在我的整个学术/职业生涯中,我学习了不同的语言.在此期间,语法和编程范例是重点,但我们从未教过使用不同语言编写系统的集成以及做出此决策的正确方法.

现在为了记录,我不是在讨论规范的Web堆栈或更新,更性感,JVM友好的语言.我想知道的是,如果有"已知资源",我可以了解像Java和C++这样的绑定语言背后的决策过程.

当然,我想到了XML,JSON和XMPP等工具.然后,我再次看到系统使用序列化绑定Java和C++.我不是在寻找一种一刀切的解决方案.我更感兴趣的是了解不同的解决方案以及我应该如何做出这样的决定.

如果这对于这个论坛来说太宽泛,我很抱歉,但至少我不是要求人们纠正或重写我的拙劣代码;)

c++ architecture integration heterogeneous-services

4
推荐指数
1
解决办法
460
查看次数

无法在Oracle-DB中创建到远程数据库的数据库链接

我们公司有一个CRM系统,它使用Oracle 11g数据库.它由第三方供应商开发.

我们无权访问运行CRM系统的服务器.但是,我们有可用的DBA登录数据(SYS用户).它包括:

  • 服务器IP:172.1.2.3
  • 港口:1521
  • SID:abc
  • user:sys
  • 密码:*

我们可以使用它来使用Oracle SQL Developer 3.1(连接>>属性)访问数据库

现在,部分数据必须从CRM数据库复制另一个 Oracle数据库中,该数据库驻留在另一台服务器上.

据我了解,我需要在目标数据库中创建一个数据库链接.我试过这样的事情:

CREATE PUBLIC DATABASE LINK xxx CONNECT TO sys IDENTIFIED BY ***** USING 'MYTNSENTRY'
Run Code Online (Sandbox Code Playgroud)

我的tnsnames.ora如下:

MYTNSENTRY =
 (DESCRIPTION = 
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 172.1.2.3)(PORT = 1521))
   )
 (CONNECT_DATA =
   (SERVICE_NAME = abc)
 )
)
Run Code Online (Sandbox Code Playgroud)

....而我的listener.ora看起来像这样:

MYLISTENER=
  (DESCRIPTION=
    (ADDRESS_LIST=
      (ADDRESS=(PROTOCOL=tcp)(HOST=172.1.2.3)(PORT=1521))
      ))
SID_LIST_MYLISTENER=
  (SID_LIST=    
    (SID_DESC=
      (SID_NAME=MYTNSENTRY)
      (ORACLE_HOME=C:\somepath) # path to Oracle home …
Run Code Online (Sandbox Code Playgroud)

oracle database-connection database-link heterogeneous-services

3
推荐指数
1
解决办法
3万
查看次数