DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: webb123
今日帖子: 33
在线用户: 18
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/5/13 18:01:38
标题:
使用 ADO 导入 csv 文件的奇怪问题 浏览:1683
加入我的收藏
楼主: D10.3.3

使用 ADO 来导入 csv 文件,连接字符串如下:

Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="Driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27;FIL=text;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransaction_s=0;Threads=3;UID=admin;UserCommitSync=Yes;"

使用 TADOTable,指定:
ADOTable1.TableName := OpenDialog1.FileName;

然后,执行
ADOTable1.Open;

在 WIN7 机器上成功;
在我自己的 WIN10 笔记本上成功;
在另外一台 WIN10 电脑上,出现异常提示:[Microsoft][ODBC 文本 驱动程序] FROM 子句语法错误

仔细对比两台 WIN10 电脑的 ODBC 驱动,其中:

Microsoft Text Driver(*.txt; *.csv)  的版本号,都是:10.00.19041.01

把 TADOTable 换成  TADOQuery,也是同样的错误提示。

因为在2台电脑上能够执行成功,在一台电脑上执行失败,但相关的 ODBC Driver 版本又相同,所以百思不得其解了。

请各位大侠指教。
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2021/5/13 18:26:31
1楼: DriverId=27
啥意思,为啥是 27
还有其他好多奇怪的参数。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/5/14 11:37:15
2楼: 整个字符串是使用 Delphi 的 ADO 的自动创建连接字符串的菜单过程创建的。那个 id=27 我试过删除掉,不影响正常工作,也不会导致出问题的机器问题消失。
----------------------------------------------
-
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2021/5/14 21:37:40
3楼: 你都用CSV了,自己解析最好了。M$的驱动经常出现各种奇怪的问题,可能找原因的时间自己都写完了。 ^o^
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/5/15 11:12:51
4楼: 楼上你说的有道理。

网上搜了一下,中文没讲什么,stack overflow 上有人讲,WIN 自己的 ODBC 驱动有 BUG,DELPHI 的 ADO 也有BUG。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行785.1563毫秒 RSS