精易论坛

标题: 执行SQL语句来导入TXT数据 [打印本页]

作者: gaofox    时间: 2016-9-27 10:19
标题: 执行SQL语句来导入TXT数据
外部数据库1.打开SQL数据库 (“GZH-PC\SQLEXPRESS”, , , “GZH”, , )
外部数据库1.查询 (*********)
使用外部数据库查询sqlsever创建数据表正常 返回执行成功

但是使用数据库执行,执行bulk insert语句时返回假。
编辑框1.内容是以下内容
bulk insert [dbo].[sz_det20160933] from "C:\c\20160916.txt" with (FIELDTERMINATOR = '|',rowterminator ='0x0a')


外部数据库1.执行 (编辑框1.内容)


sqlsever语句应该是没问题的SQL里正常执行且成功,但是易语言里只能创建表执行不了导入语句?

求大神帮解决这个问题。

作者: 虾兵蟹将    时间: 2016-9-27 15:44
手里暂时没有MSsql所以没法测试,提供一个可能出现错误的思路。
外部数据库1.执行 (, )
    参数<1>的名称为“非查询类SQL语句”,类型为“文本型(text)”。本参数提供非查询类SQL语句(无结果集返回),如修改、删除、添加等等。
    参数<2>的名称为“文本或字节集”,类型为“通用型(all)”,可以被省略。本参数仅用作为SQL语句中的备注或字节集型SQL参数(用问号标识其位置)提供相应数据,必须为文本或者字节集型(与SQL参数类型对应)。如果SQL语句中没有包含SQL参数,则应该省略本参数。


参数1为文本型,编辑框1.内容也是文本型。但是编辑框1的内容里包含了"号。


bulk insert [dbo].[sz_det20160933] from "C:\c\20160916.txt" with (FIELDTERMINATOR = '|',rowterminator ='0x0a')  
"C:\c\20160916.txt"  
如果直接写在命令里
外部数据库1.执行 ("bulk insert [dbo].[sz_det20160933] from "+#引号 + "C:\c\20160916.txt" +#引号 + "with (FIELDTERMINATOR = '|',rowterminator ='0x0a')  ", )
如果直接写命令测试OK,那你知道怎么改了。
抱歉我这里没MSSQL来测试。

作者: gaofox    时间: 2016-9-27 16:42
虾兵蟹将 发表于 2016-9-27 15:44
手里暂时没有MSsql所以没法测试,提供一个可能出现错误的思路。
外部数据库1.执行 (, )
    参数的名称为 ...

bulk insert [dbo].[sz_det20160933] from "C:\c\20160916.txt" with (FIELDTERMINATOR = '|',rowterminator ='0x0a')  
"C:\c\20160916.txt"  

这个我尝试下这个吧。
外部数据库1.执行 ("bulk insert [dbo].[sz_det20160933] from "+#引号 + "C:\c\20160916.txt" +#引号 + "with (FIELDTERMINATOR = '|',rowterminator ='0x0a')  ", )
之前这个已经尝试过了。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4