两个数据之间数据的插入语法我不会写: insert into kvtv:kt(seqno,userid,username,rq,yy,note) select seqno,userid,username,rq,yy,note from kvtv1:kt 不是这样吧? kvtv和kvtv1是两个数据库的名字
如果要在两个数据库之间导入导出,那么就必须使用两个sqlconnect和 sqldataset,其中一个用来查出原数据库中的数据,存在dataset.fields中 然后再用Sql语句逐条插入到另一个数据库中。 For I := 1 to 原dataset.count do Begin 目标dataset.sql.text := 'insert Into 表名 values('''+原dataset.fields[0].asstring+''','''+...+''')'; 目标Dataset.ExecelSQl; 原dataset.next; End;
1.采用dblink的方式连到其他的数据库。 例如: 在Oracel中,建立数据库链接。 create database link dblinkname using by "TNSName"; 其中 TNSNAME 是你的源表数据库服务器连接到目的表数据库的TNSName。 2.导入 Insert into TargeTable@dblinkname select * from SourceName; 搞定了
insert into kvtv:kt(seqno,userid,username,rq,yy,note)
select seqno,userid,username,rq,yy,note from kvtv1:kt
不是这样吧?
kvtv和kvtv1是两个数据库的名字
表分别是两个数据库中的表,再就是数据量比较大,几万多吧?甚至更多,
能不能给出一些代码?
select Field_A1,Field_B1,Field_C1 from DB_B..Table_B
应保证两个数据库中table_A和Table_B结构一致。
你的方法通过了,不过我想问一下,现在有大量的数据进行导入导出,象
这种方法效率如何?有没有高效率的方法?我用的控件与一般的不同,因为
数据库是sybase11版本的,delphi一般的空间不支持。
sqldataset,其中一个用来查出原数据库中的数据,存在dataset.fields中
然后再用Sql语句逐条插入到另一个数据库中。
For I := 1 to 原dataset.count do
Begin
目标dataset.sql.text := 'insert Into 表名 values('''+原dataset.fields[0].asstring+''','''+...+''')';
目标Dataset.ExecelSQl;
原dataset.next;
End;
例如:
在Oracel中,建立数据库链接。
create database link dblinkname using by "TNSName";
其中 TNSNAME 是你的源表数据库服务器连接到目的表数据库的TNSName。
2.导入
Insert into TargeTable@dblinkname select * from SourceName;
搞定了