通过sqlserver的表 更新 Oracle的表 怎么做??

舞台中央的我 2012-07-11 10:33:45
sqlserver 2008 有 A表
字段 Id name
1 wang
2 li
3 chen
oracle 11g 有 B表
有 字段Id name
1 null
2 null



在 sqlserver2008 上 写 语句 更新oracle 的表
根据A表 的 name 更新 B表的 Name 条件 ID 相等

而且 我直接 更新oracle 的值 可以
UPDATE OPENQUERY(ora, 'SELECT * FROM B) SET name = 'wang' WHERE id = '1'

ora 位 链接Oracle服务器 别名

两个表连接 更新不会了 望 大虾 帮助???


注: selserver2008 上 已经建有 oracle 的 链接服务器
...全文
345 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
舞台中央的我 2012-07-14
  • 打赏
  • 举报
回复
自己解决了
hupeng213 2012-07-13
  • 打赏
  • 举报
回复
1、安装oracle 的transparent gateway 透明网关。
安装ORACLE 选择自定义安装, 然后再选择 安装透明网关,再进去选择 安装FOR SQLSERVER 的组件。


2、修改 oraclehomeora92tgsmsqladmininittg4msql.orq 文件

HS_FDS_CONNECT_INFO="SERVER=YIRONG-NO1;DATABASE=jsoct"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
说明 可以通过 ORACLE 工具中的migration WorkBench 进行配置。(过程中需要配置ODBC)

3、建立监听 修改oracle 的 oraclehomeora92networkadminlistener.ora 文件。


# LISTENER.ORA Network Configuration File: F:oracleora92networkadminlistener.ora
# Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yirong-no1)(PORT = 1521))
)

)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:oracleora92)
(PROGRAM = extproc)
)

(SID_DESC =
(GLOBAL_DBNAME = ora9i2)
(ORACLE_HOME = F:oracleora92)
(SID_NAME = ora9i2)
)

#连接 sqlserver
(SID_DESC =
(GLOBAL_DBNAME = tg4msql)
(PROGRAM = tg4msql)
(SID_NAME = tg4msql)
(ORACLE_HOME = F:oracleora92)
)

)

4、修改TNS

TG4MSQL =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=(SID=tg4msql))
(HS=)
)

5、创建DBLINK 说明建立的 用户名,密码要是 SQLSERVER 的用户名和密码
create PUBLIC DATABASE LINK oratoSql
CONNECT TO sa IDENTIFIED BY "lanwei"
USING 'TG4MSQL' ;

6、测试数据的是否正常检索。
勿勿 2012-07-13
  • 打赏
  • 举报
回复
哪里执行不下去,有提示吗
舞台中央的我 2012-07-13
  • 打赏
  • 举报
回复
有点复杂 能说明白点吗? [Quote=引用 5 楼 的回复:]

1、安装oracle 的transparent gateway 透明网关。
安装ORACLE 选择自定义安装, 然后再选择 安装透明网关,再进去选择 安装FOR SQLSERVER 的组件。


2、修改 oraclehomeora92tgsmsqladmininittg4msql.orq 文件

HS_FDS_CONNECT_INFO="SERVER=YIRONG-……
[/Quote]
舞台中央的我 2012-07-12
  • 打赏
  • 举报
回复
没人 回复吗? 求 高手 支持
舞台中央的我 2012-07-11
  • 打赏
  • 举报
回复
执行不过去啊 求 帮助
iqlife 2012-07-11
  • 打赏
  • 举报
回复
标准SQL 更新语句不会写?

你不是做好链路了么,相对SQL就基本透明了啊

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧