- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个批处理文件,它使用 BCP
将带分隔符的文本文件导入 SQL Server,使用 SQLCMD
运行一些处理,然后通过 输出处理后的数据商业连续性计划
。目前它给出的是一串汉字,而不是分隔的文本表。奇怪的是它在两天前就开始工作了,而我没有做任何改变。
我已确认输入 BCP 和 SQL Server 处理步骤有效;保存输出数据的 SQL Server 表是正确的。我还尝试使用 -C
选项按照建议指定代码页 here , 没有变化。
这是有问题的 BCP 代码。为了可读性,我把行分开了,实际代码像往常一样在一行上。它使用 union all
将列名放在文件的顶部。
bcp
"select
'MRN'
,'column name 2'
,[rest of the column names]
union all
select distinct
iif(r.MRN is not null, cast(r.MRN as varchar), '') as MRN
,[rest of the columns]
from DATA_MANAGEMENT.dbo.Daily_inpat_out as d
left join DATA_MANAGEMENT.dbo.Roster_all_match as r
on d.Subscriber_ID = r.SUB_ID
where
r.MO_DLGTN_STA_DESC = 'DELEGATED'"
queryout "L:\Data_Management\Import_data\Daily_inpat\inpat_out_%mydate%_%mytime%.txt"
-c -S [servername] -U [user] -P [password] -t "|"
这是汉字输出的第一部分,完整的字符串要长得多:
前籎潇瑶偟潲牧浡䝼偒䥟籄䕍䉍剅也䵁籅䥂呒彈䅄䕔卼扵捳楲敢彲䑉呼彘䕓呔义彇䕄䍓
编辑添加:
如评论中所述,问题出现在记事本中,但在其他应用程序(Word、Excel、Notepad++)中显示正确,因此这是一个编码问题。我仍然希望了解问题的原因以及解决方法。
最佳答案
这是由于文本文件前面字节的巧合排列导致记事本认为数据实际上是 Unicode 双字节文本文件。理论上,您可以在其中放置一组字符,让解析器相信数据实际上是 ASCII,但这会改变输出的格式。
按照易于实现的顺序,您最好的选择是:
在使用记事本查看文本文件时,没有保证可以防止这种情况发生的方法。您能做的最好的事情就是尽量减少问题,或者对最终输出使用不同的格式。
关于sql-server - bcp 命令输出汉字而不是表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45241509/
使用 mssql-tools 中的 BCP在 CentOS7 上并尝试将一些 TSV 数据复制到本地 MSSQL 数据库中,BCP 无法执行复制并抛出错误“BCP 复制失败”。正在运行的命令是: TO
我在尝试使用 BCP 将数据插入表时遇到问题。该表有一个标识列。我正在从文本文件中获取输入。请让我知道是否有任何好的解决方案。 问候, 查延 最佳答案 我需要做同样的事情,我的同事指出你可以使用 BC
我正在尝试使用 bcp 实用程序为我的数据库中的表创建一个 bcp 格式文件。根据我发现的 here ,我想出了以下 cmd 命令: bcp dbName..tableName 格式 nul -c -
我刚刚在我的 sqlserver 名称 exporttable 中创建了一个新表 现在我正在尝试使用 cmd bcp 推出但 om 收到以下错误: SQLState = S1000, NativeEr
主要讲四个示例的使用:导出(out),导入(in),查询导出(queryout),导出格式化(-f)文件。 示例1:导出示例数据库AdventureWorks整个表currency 或视
所以我一直在浏览与我的问题相关的一些问题,但我似乎仍然无法解决它。我在我自己的 SQL Server 上运行它,但是当我将它移到另一台服务器时,我现在遇到了问题。 这是我正在使用的 bcp out 命
我在使用 BCP 将数据从制表符分隔的 *.txt 文件导入我的 SQL 表时遇到问题。 我不断收到两个“ Actor 规范的无效字符值”错误。 作为测试,我手动插入了几行。然后我 BCP 将这些行查
我有一个将值存储在临时表中的存储过程。 一切正常,但我不能用 bcp exec master..xp_cmdshell 'bcp "exec sp_test '2006-07-21' " queryo
我正在使用 BCP 将行导入 SQL 服务器。当我意识到 BCP 不是随机导入所有行时,一切似乎都正常。一些数据被跳过(有时是 50%)。 BCP 过程没有返回任何错误。它说成功复制了 X 行。 BC
我正在使用 bcp utility导入制表符分隔的文件。我的表有一个标识列,当我运行 bcp 命令时,我收到错误消息 Error = [Microsoft][SQL Server Native Cli
我正在使用 SYbase bcp 将数据从文本文件传输到数据库表。 我的文件是用utf8编码的,我可以在我的表中获取一些数据,但这不是我的原始文本。 我尝试了以下命令,但没有成功 bcp 架构名..文
我们有一个 HPC 节点,可以在其中运行我们的一些任务。我在我的 .net 项目中有一个任务,它在 HPC 节点上启动 bcp 实用程序,我运行的查询输出为 9 Mb。 当 HPC 节点运行此任务时,
我有一个包含股票信息的文件,例如股票代码和股票价格。使用 freebcp 将文件加载到数据库表中。文件中的股票价格格式为:23.125。数据库表中的股价数据类型为[decimal](28, 2)。 f
我的问题是关于 sql server bcp 实用程序: 如何使用以下扩展名将数据从 sql server 导出到 excel 工作表中,例如xls、xlsx 和 xlsb 使用 bcp 工具,因为我
尝试将数据导入 Azure。在 Management Studio 2005 中创建了一个文本文件。我尝试过逗号和制表符分隔的文本文件。 BCP IN -c -t, -r\n -U -S -P我收到错
我在使用 SQL BCP 进程加载包含数据的表时遇到问题。我从 .NET 应用程序调用它,所以我执行 xp_cmdshell 可执行文件来运行 bcp 命令。以下是这些命令之一的样子: EXEC ma
我需要将大量数据插入数据库中的不同表中。 我可以选择哪些选项以使性能永远不会成为问题? (这是一个 Silverlight 应用程序,我将从客户端在服务器上运行它。)我发现了一些选项,例如 SMO 中
我没有在文档中看到如何在我的 csv 类型输出文件中包含列标题。我确定这是重复的,但我似乎无法找到满足我确切需求的副本。 这是我的命令: bcp "select * from MYDB.dbo.My
我有一个批处理文件,它使用 BCP 将带分隔符的文本文件导入 SQL Server,使用 SQLCMD 运行一些处理,然后通过 输出处理后的数据商业连续性计划。目前它给出的是一串汉字,而不是分隔的文本
运行这个: bcp MyDb.dbo.uvwMyView out "c:\Test.txt" -SMyServer -T -c 我收到此错误: SQLState = S1000, NativeErro
我是一名优秀的程序员,十分优秀!