关于FDBatchMove的字段超长问题

秋天之落叶 2019-06-25 05:07:43
经测试,FDBatchMove可以批量导入execl文件,但在导入时遇到了字段超长的问题:

批量传输过程为
FDCon.constring:='ODBC连接';
FDCon.formatoptions.maprules.add('sourcedatatype=dtmemo');
FDCon.formatoptions.maprules.add('targetdatatype=dtmemo');
FDCon.open;
FDquery.formatoptions.maprules.add('sourcedatatype=dtmemo');
FDquery.formatoptions.maprules.add('targetdatatype=dtmemo');
FDquery.open('select * from [导入表$]');
FDbatchmovedatasetreader.dataset:=FDquery;
......
我设置了源数据类型和目标数据类型为各种类型,均提示字段超长。
我应该修改那里才对?
...全文
172 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
用binary或者blob试试
秋天之落叶 2019-06-26
  • 打赏
  • 举报
回复
引用 7 楼 BlueStorm 的回复:


对对,就是这样解决的,哈哈

必须给分才能结贴啊?
BlueStorm 2019-06-26
  • 打赏
  • 举报
回复
秋天之落叶 2019-06-26
  • 打赏
  • 举报
回复
论坛又坏了吗?为什么不能结贴?
秋天之落叶 2019-06-26
  • 打赏
  • 举报
回复
问题解决,结贴
秋天之落叶 2019-06-26
  • 打赏
  • 举报
回复
不行,我怀疑是ODBC的问题,因为我的数据库字段是用的nvarchar(MAX),理论上可以有4000个字符长度,这个字段才269。
而提示255长度超长应该是低版本sql server的限制,firedac只是传递以下数据,只能怀疑ODBC了,可是又不知道修改那里?

引用 3 楼 早打大打打核战争 的回复:
用binary或者blob试试
秋天之落叶 2019-06-25
  • 打赏
  • 举报
回复
追踪错误落在了 firedac.phys.odbcwrapper中的
oexc:=eodbcnativeexception.creat(astatus,self);
fdexception(owningobj,oexc
{$ifdef firedac_monitor},(oconn<>nil) and oconn.tracing {$endif});
看不出那里的问题
秋天之落叶 2019-06-25
  • 打赏
  • 举报
回复
字段[问题]超长,超过255个字符,试过dtwidestring,dtwidememo,dtmemo,dtansistring,都不行。

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧