0

对不起,我是编程新手,我试图找到问题的答案,但没有找到。情况是这样的:我有一个我想使用的条形码扫描仪。此条码扫描器扫描内存中的条码并生成包含日期、时间和代码的 txt 文件。日期的格式为 dd/mm/yyyy。我想将此读数上传到 SQLExpress 数据库,但日期字段已格式化 - 正如我默认理解为 yyyy-mm-dd 我有一个 .bat 文件,它需要这样的 SQL 命令:bat 文件:

sqlcmd -S MYPC\SQLEXPRESS -U test -P test -i "d:\newfolder\update.sql" -o "d:\newfolder\log_%date:~6,4%%date:~3,2%%日期:~0,2%_%时间:~0,2%%时间:~3,2%.txt"

update.sql 文件:

插入到logistica.dbo.test ([data],[ora],[part]) SELECT convert(date,[data],110),[ora],[part] FROM openrowset(bulk 'd:\input\BARCODES .txt',FORMATFILE='D:\newfolder\format_file.xml') as t;

问题是上面的 sql 命令可以从 SSMS 运行,但不能从 cmd 运行。我收到以下错误:

消息 4864,级别 16,状态 1,服务器 MYPC\SQLEXPRESS,第 1 行第 1 列(数据)的第 1 行批量加载数据转换错误(指定代码页的类型不匹配或无效字符)

有没有人有更好的主意?

谢谢!

4

0 回答 0