我想在程序中连接远程服务器,并且用select语句将数据复制到本地数据库的表中,请问如何做?请高手指点
解决方案 »
- 大家发贴时标题能不要发那种让人看着不舒服的吗:(
- 如何编写一个存储过程去掉数据中的不规范信息.
- 帮我解释一下这关于udp的一行代码?
- 请教一下,我做了一个存储过程,那怎么执行这个存储过程呢?
- SQL Server2000中表的操作!UP有分!
- 我这个得到文件字节数的代码,老报IO/103错误
- 各位大侠:哪能找到adoexpress for delphi5 update的序列号?
- 本地数据库连接问题(ACCESS)
- Delphi能不能处理这个问题?
- 请教sql server的问题?
- 实在不知是何解!请高手帮忙看完,有点长(为什么总是报[-1]服务器返回异常,请检查网络连接状况!),写医保接口不知为何.
- 数据库三层结构中,怎么写日志监视服务器的运行状态(服务器和客户端是用indy控件来传输数据的)
SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。
语法:
SELECT column_name(s) INTO newtable [IN externaldatabase] FROM source
1.如果数据库都是sqlserver的,可以建立dblink,可以像 [ghd2004]所说的.
2.还可以直接在数据库上建立复制,这样就不用程序了.
3.用程序,建立两个connection,一个连远程,一个连本地.用程序代码实现,也行
procedure TForm1.Button1Click(Sender:Tobject);
var
str:string;
begin
str:='select * into 本地表 from openrowset(''sqloledb'',''ip'';''sa'';''密碼'',''select * from pubs.dbo.jobs'')';
with adoquery do
begin
close;
sql.clear;
sql.add(str);
execsql;
end;
end;
N_Adoc 连接本地库。
R_adoc 连远程数据库。
打开远端查询表R_qry
with R_qry do
begin
close;
sql.clear;
sql.add('select * from youtable');
open;
end;
本地表N_adotable ,指定本地表名并打开while not R_adoc.Eof do
begin
N_adotable.Append;
N_adotable.FieldByName('f1').AsString =R_adoc.FieldByName('f1').AsString;
......
N_adotable.Post;
end;
R_qry.Close;
N_adotable.Close;