异构数据库之间完全可以用SQL语句导数据。大家抛弃BatchMove吧 如果觉得好请Up一下,如果觉得不好也请Up一下 (1分)

  • 主题发起人 碧血剑
  • 开始时间
楼主用你的第2个方法试,将EXCEL导入ACCESS,
ADOConnection1.Connected := True;
ADOConnection1.Execute('Select * Into 订单表 From [excel 8.0;Database=c:/temp].订单.xls');
运行时报打不开文件c:/temp,已被其他用户打开或权限不够?为何?还有ACCESS中的表是否要先建好还是自动生成?
 
楼上的错了。应该是:
ADOConnection1.Execute('Select * Into 订单表 From [excel 8.0;Database=c:/temp/订单.xls].sheetname$');
 
楼上的再请教下,sheetname$是指什么呀?编译说$是无效字符.
 
就是你的sheet的名字加上一个$符号。
编绎说是无效字符不应该吧。
因为这个是在引号之内,DELPHI编绎时不检验的。
 
我试了一下似乎这种形式不行。
你改用opendatasouce算了。那是行的。
试了N遍的。
 
涓嶅ソ鎰忔
 
字体不清楚,重发.是这样的,我用下面语句
ADOConnection2.Execute('SELECT * into abc FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data Source="C:/1.xls";Extended Properties=Excel 8.0'')...[Sheet1$]');
报"FROM子句语法出错"
而用
ADOConnection1.Execute('select * into abc from [excel 8.0;database=''c:/1.xls''].[Sheet1$]');
报"不能更新,数据库或对象为只读"
哪位高手指点下,谢谢!
 
收藏先,哈哈,好东西阿,好东西
 
为什么会报错?说什么缺少右引号,下面的语句哪儿写错了?
我在查询分析器里一切正常,在程序中写就报错:
with query do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * into tab_Tmp FROM OpenDataSource('+'''');
SQL.Add('Microsoft.Jet.OLEDB.4.0'+''','+'''');
SQL.Add('Data Source="C:";User ID=Admin;Password=;Extended properties=dBase IV'+''')'+'...asd');
try
ExecSQL;
except
...
end;
end;

我也试过用QuotedStr()函数来加引号,也不行
 
to:zyjsjwl
看清楚了是
ADOConnection1
而不是adoquery1
 
各位,看了之后获益颇多我有两件事不是很明白
1.ADOConnection1.Execute,里面的字符串有长度限制吗?
 我写了个,因为字符串太长,它说长度超出限制了,如果这样,可以用什么方法代替呢?
2.我现在想写的是个远程的,只知道某ADOCONNECTTION的连接,其它的一概不知,想从远程 数据库导出成DBF文件。
 连接字符串该怎么引用呢。
 
ADOConnection1报字符串过长,还真的没有办法,只能 优化你的sql语句了
 
我看了一下,从SQL SERVER里面导出数据一般都是这个形式
SELECT * into table FROM Tab1 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
用的是ODBC,那么如果不用这个连接呢,连接的后面的那些资料可以从哪里看,我想弄明白这些的真正的意思。
就是想明白 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]这句话的内容是什么意思,如果有别的连接方法的话,也想知道其它的连接字符串的写法。我想肯定有很多想弄明白到底是怎么回事的朋友吧。
 
学习,牛!
 
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
Driver:在注册表的
HKEY_LOCAL_MACHINE/Software/ODBC/ODBCINST.INI/ODBC Drivers
下面都是系统里已经安装的odbc驱动。
UID:用户名
PWD:密码
Server:服务器名字或IP
DataBase:数据库名字
 
to chenshaizi:
谢谢,我已经解决了,用SQL监视器查出问题来了,呵呵,应该这样写:
with query do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * into tab_Tmp FROM OpenDataSource('+''''
+'Microsoft.Jet.OLEDB.4.0'+''','+''''
+'Data Source=''''C:'''';User ID=Admin;Password=;Extended properties=dBase IV'+''')'+'...asd');
try
ExecSQL;
except
...
end;
end;

BTW:我用的是BDE
 
解决了就好
 
VFP6.0 —— SQL SERVER 如何导入导出呢,哪位大侠调试成功过吗?
 
顶部