各位高手,看看从一个数据库的表中向另一个数据库的表中倒数据的sql语句怎么写啊?

liyx326 2004-08-10 04:01:13
我的两个oracle数据库一个版本是ora817,一个版本是ora9.现在我想从oracle8数据库的一个表中某些字段的数据导入到oracle8数据库的表中,这个sql语句怎么写啊?希望您能说明详细一点。
...全文
253 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ks9960 2004-08-11
  • 打赏
  • 举报
回复
如jxc(GameHeart) 所说,你show parameters global_name看一下你的参数设置,如果是true的话,你就可能不能使用自定义的remote作为数据库连接名,应该使用你的9i的数据库的数据库全局名(SELECT * FROM global_name)
create database link (try to use your 9i global_name as linkName)
connect to system identified by manager using 'dbserver';
liyx326 2004-08-11
  • 打赏
  • 举报
回复
我知道了,是这样的:要想创建database link ;必须在两个数据库服务器上分别配置连接字符串,因为我只配置了连接ora9的字符串,而没有配置从ora9连接ora8数据库服务器的字符串,所以一直不成功,现在好了,谢谢大家对我的提醒和帮助!!!!送分!!!
wylwyl1130 2004-08-10
  • 打赏
  • 举报
回复
CREATE DATABASE LINK
参见:
Distributed Database Applications CREATE SYNONYM
语法:
CREATE [PUBLIC] DATABASE LINK link
CONNECT TO user IDENTIFIED
BY password USING 'connect_string'
变量:
link:数据库链名
user:数据库用户
password:有效的口令
connect_string:被访问的远程数据库字串

例子:
SQL
CREATE DATABASE LINK international_customers connect to INTL_DB
identified by intl using 'D:INTERNATIONAL';
SELECT CUSTOMER_NAME FROM CUSTOMER@INTL_DB;.




tnsnames.ora中

connect_string=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.60.91)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 全局数据库名)
)
)
liyx326 2004-08-10
  • 打赏
  • 举报
回复
wylwyl1130(落雪山林) 能说得详细一点吗?
rouqu 2004-08-10
  • 打赏
  • 举报
回复
学习
jxc 2004-08-10
  • 打赏
  • 举报
回复
用DBlink,可能需要修改init.ora
global_names = false
wylwyl1130 2004-08-10
  • 打赏
  • 举报
回复
因为你没有配置连接字符串,用什么工具你没有配置的话都不行!!!
/network/admin/tnsnames.ora
或者用oracle的附带工具配置
创建dblink也需要配置
melonjava 2004-08-10
  • 打赏
  • 举报
回复
我建议你找些工具,比如:PL/SQL DEVELOP 来建连接,按照它的向导,建好很方便的。
然后可以看它生成的SQL语句。既不耽误干活,有知道哪错了,对吧?
liyx326 2004-08-10
  • 打赏
  • 举报
回复
我就是按照dinya2003(OK) ( )的方法啊,下面是sql:
create database link remote
connect to system identified by manager using 'dbserver'; dbserver 是ora9的全局数据库名。
insert into MR_MASTER(MR_NO,ORGANIZATION_CODE,VISIT_ID)
select FMRDID,'1',1 from TMRDDE@remote;
我往ora9里面插入数据,但是报错“ORA-02085: database link REMOTE connects to ORCL”,其中orcl是我ora8的数据库全局数据库名。
到底是怎么回事啊??
「已注销」 2004-08-10
  • 打赏
  • 举报
回复
建连接或同意词,照dinya2003(OK) ( ) 的方法做就行了。
liyx326 2004-08-10
  • 打赏
  • 举报
回复
to dinya2003(OK) :
我一直就是这样执行的,可是每当我执行
insert into table(字段1,字段2) select 字段3,字段4 from table2@dd_link_name ;
之后都得到“ORA-02085: database link REMOTE connects to ORCL”,其中"orcl"是我的ora8的本地数据库。这是什么原因啊????
wylwyl1130 2004-08-10
  • 打赏
  • 举报
回复
using 'oracle9isid' 全局数据库名???还是连接字符串?????
LGQDUCKY 2004-08-10
  • 打赏
  • 举报
回复
dinya2003(OK) ( ) 的方法:
wylwyl1130 2004-08-10
  • 打赏
  • 举报
回复
insert into tbname1(c1,c2...)
select .....from tbname2@dbname

建立一连接dbname
dinya2003 2004-08-10
  • 打赏
  • 举报
回复
先在oracle817上建一个database link
create database link dd_link_name
connect to user identified by password --要用户名密码
using 'oracle9isid' --全局数据库名

在oracle 817这边:
insert into table(字段1,字段2) select 字段3,字段4 from table2@dd_link_name ;

要求插入的和选择的字段的类型要一致;
liyx326 2004-08-10
  • 打赏
  • 举报
回复
高手都干什么去了啊?怎么没有人来回答呢?
liyx326 2004-08-10
  • 打赏
  • 举报
回复
自己up.
如果问题解决了立即给分!!!!!!!!!!!!!1

17,086

社区成员

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

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