gpt4 book ai didi

c# - BCP 导出自动将空字符串转换为 NUL

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:05 26 4
gpt4 key购买 nike

所有,在这个帖子里xp_cmdshell Query Length Too Large我设法修复了使用 xp_cmdshell 时遇到的查询大小限制问题。我写这么长的查询的原因是试图解决另一个问题,事实上 bcp 似乎将空字符串(从包含空字符串字段的表)转换为一些编码字符('NUL' 或 'r',或者其他的东西)。这会影响我可以使用导出数据的目的。我的导出查询是

string strBcp = String.Format(
"declare @sql varchar(8000) " +
"select @sql = 'bcp \"SELECT * FROM [{0}]..[ivwTmpDrgDataView];\" ' +" +
"'queryout \"{1}\\DRGData.txt\" -c -t -T -S ' + @@servername " +
"exec master..xp_cmdshell @sql;",
strDatabase,
strDataDir);

这工作正常,但在导出的文件数据库中值被转换

NULL -> Empty String (Which is fine!)
Empty String -> Some strange character

我可以使用 C# 读取 .txt 文件,然后重新编码 - 将我的“奇怪字符”转换回其应有的空字符串的最佳方法是什么?

感谢您的宝贵时间。

最佳答案

这是设计使然,如果 bcp 将 null 和空字符串都转换为相同的输出(假设是一个空字符串),那么以后就无法消除它们的歧义。

关于c# - BCP 导出自动将空字符串转换为 NUL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10999808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com