1:比如 oracle 就不支持 top 关键字。得用内置变量 rownum 来判断。
另外,比如
select * from table1 where rownum < 3 order by id
这些的语句,oracle 是先取前两条记录然后才排序的。要想实现先排序再取前两条记录得这样写:
select * from (select * from table1 order by id) where rownum < 3
不爽!
2::异构数据库之间完全可以用SQL语句导数据。大家抛弃BatchMove吧
A:)将DBF数据倒入到SQLServer中
在SQLServer中执行
SELECT * into bmk
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="e:/share";User ID=Admin;Password=;Extended properties=dBase 5.0')...bmk
B:)将TXT文件倒入到ACCESS中
在Form上放一个ADOConnection,连结指向目标Access库
比如txt文件在c:/temp/aaaa.txt
ADOConnection.Connected := True;
ADOConnection.Execute('Select * Into abcd From [Text;Database=c:/temp].aaaa.txt');
C:)把Excel导入到Access中,同txt类似
select * into
from [excel 8.0;database=].[$]
D:用SQL语句把ACCESS表导出TXT文件中:
ADOConnection.Execute('Select * Into [Text;Database=c:/temp].aaaa.txt From aaaa');
E:)txt导入SQLServer
select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=c:/temp;','select * from aaaa.txt')
F:)Sqlserver倒出到Access
SELECT * into access表
FROM OpenDataSource('SQL SERVER ADO的联接字符')
***
sql server导出到access
ADOConnection 指向Access
SELECT * into table FROM Tab1 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
G:功能 : Access To DBF
ADOConnection2 => Access
*/
sql = "SELECT * INTO jyjh in /"c://temp/"[dbase 5.0;] FROM jyjh";
ADOConnection2->Execute(sql);
H:将Oracle导入到文本文件
连接串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/temp;Extended Properties="text;HDR=YES;";Persist Security Info=False
SQL语句
SELECT * into aaa.txt FROM Tab1 IN [ODBC]
[ODBC;Driver={Microsoft ODBC for Oracle};UID=oracle;PWD=oracle;SERVER=yourdata;]
将Oracle导入到Access
连接串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/temp/db1.mdb;Persist Security Info=False
SQL语句
SELECT * into tablename FROM Tab1 IN [ODBC]
[ODBC;Driver={Microsoft ODBC for Oracle};UID=oracle;PWD=oracle;SERVER=yourdata;]
J:)Access到入到Access
select * into aaa from aaa in 'c::/temp/b.mdb'
K:这些是标准的SQL导出语句:
select * into [Excel 8.0;database=导出目录].导出表名 from 表
select * into [FoxPro 2.6;database=导出目录].导出表名 from 表
select * into [FoxPro 2.5;database=同上].导出表名 from 表
select * into [dBase III;database=同上].导出表名 from 表
select * into [Paradox 4.X;database=同上].导出表名 from 表
select * into [;database=C:/temp/xxx.mdb].导出表名 from 表
注意的几个问题:
1:OpenDataSource是要数据库是同一机上运行。