Delphi2007.net 首页

Delphi 非技术区  |  Delphi VCL组件开发及应用  |  Delphi 数据库相关  |  Delphi Windows SDK/API
Delphi 网络通信/分布式开发  |  Delphi 语言基础/算法/系统设计  |  Delphi GAME,图形处理/多媒体  |  Delphi 笔记

异构数据库之间的导入导出示例

作者:chen_liang   关键字:   时间:2005-7-6 19:28:10

异构数据库之间的导入导出示例,abc为表,包含以下导入与导出
MSSQL2EXCEL EXCEL2MSSQL  MSSQL2VFP VFP2MSSQL
MSSQL2access access2MSSQL  excel2access access2excel
,txt2MSSQL,MSSQL2txt
实现部分

procedure TForm1.btn_MSSQL2EXCELClick(Sender: TObject);
begin
//MSSQL2EXCEL
ADOConnection1.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\yp.xls;'
+'Extended Properties=excel 8.0';
ADOConnection1.Execute('select * into [Abc] from drug_yk IN [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]');
//把一个MSSQL的数据库表及数据导出到excel中,abc为excel中不存在的表名,drug_yk为MSSQL里的表, sa为用户,  kcsoft58为密码 , 127.0.0.1为服务大地址 ,kcsoft_his是数据库名称
ADOConnection1.Execute('insert into [abc] select * from drug_yk in [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]');
//把一个MSSQL的数据库表的记录增加到到excel中,执行以后相当于两倍量的数据,一次是导入,一次是insert
end;


procedure TForm1.btn_EXCEL2MSSQLClick(Sender: TObject);
begin
//EXCEL2MSSQL
  ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist Security Info=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN';
   ADOConnection1.Execute('SELECT * into [abc] FROM OpenDataSource( '
   +QuotedStr('Microsoft.Jet.OLEDB.4.0')+','
   +QuotedStr('Data Source="G:\mysmallexe\excel2sql\yp.xls";Extended Properties=excel 8.0')+')...[Abc]');
end;


procedure TForm1.btn_MSSQL2VFPClick(Sender: TObject);
begin
//MSSQL2VFP
  ADOConnection2.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql;'
+'Extended Properties=dBase 5.0';
ADOConnection2.Execute('select * into Abc.dbf from drug_yk IN [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]');
//把一个MSSQL的数据库表及数据导出到VFP中,Abc.dbf 为VFP中不存在的表名,drug_yk为MSSQL里的表, sa为用户,  kcsoft58为密码 , 127.0.0.1为服务大地址 ,kcsoft_his是数据库名称

end;


procedure TForm1.btn_VFP2MSSQLClick(Sender: TObject);
begin
//VFP2MSSQL
   ADOConnection2.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist Security Info=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN';
   ADOConnection2.Execute('SELECT * into [abc] FROM OpenDataSource( '
   +QuotedStr('Microsoft.Jet.OLEDB.4.0')+','
   +QuotedStr('Data Source="G:\mysmallexe\excel2sql";Extended Properties=dBase 5.0')+')...[Abc]');
end;



procedure TForm1.btn_MSSQL2accessClick(Sender: TObject);
begin
 //MSSQL2access
     ADOConnection2.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\Server.MDB;'
+'Persist Security Info=False;Jet OLEDB:Database Password=happynewyear';
ADOConnection2.Execute('select * into Abc from drug_yk IN [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]');

end;

procedure TForm1.btn_access2MSSQLClick(Sender: TObject);
begin
//access2MSSQL
  ADOConnection2.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist Security Info=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN';
   ADOConnection2.Execute('SELECT * into [abc] FROM OpenDataSource( '
   +QuotedStr('Microsoft.Jet.OLEDB.4.0')+','
   +QuotedStr('Data Source="G:\mysmallexe\excel2sql\Server.MDB";Jet OLEDB:Database Password=happynewyear')+')...[Abc]');

end;

procedure TForm1.btn_excel2accessClick(Sender: TObject);
begin
//excel2access
    ADOConnection2.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\Server.MDB;'
+'Persist Security Info=False;Jet OLEDB:Database Password=happynewyear';
ADOConnection2.Execute('SELECT * into [abc] FROM [excel 8.0;database=G:\mysmallexe\excel2sql\yp.xls].[abc$]');
end;

procedure TForm1.btn_access2excelClick(Sender: TObject);
begin
//access2excel
   ADOConnection2.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\yp.xls;'
+'Extended Properties=excel 8.0';
ADOConnection2.Execute('SELECT * into abc  from [G:\mysmallexe\excel2sql\Server.MDB;pwd=happynewyear].abc');

end;

补充:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
//MSSQL2txt
 ADOConnection2.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql;'
+'Extended Properties=text';
ADOConnection2.Execute('select * into Abc#txt from drug_yk IN [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]');

end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
//txt2MSSQL
   ADOConnection2.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist Security Info=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN';
    ADOConnection2.Execute('SELECT * into [abc] FROM OpenDataSource( '
   +QuotedStr('Microsoft.Jet.OLEDB.4.0')+','
   +QuotedStr('Data Source="G:\mysmallexe\excel2sql";Extended Properties=text')+')...[Abc#txt]');
end;
txt导入SQLServer
select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=c:\temp;','select * from aaaa.txt')

//access2access
ADOConnection2.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\Server.MDB;'
+'Persist Security Info=False;Jet OLEDB:Database Password=happynewyear';
ADOConnection2.Execute('SELECT * into abc  from [G:\mysmallexe\excel2sql\Server.MDB;pwd=happynewyear].abc');