5

运行这个:

bcp MyDb.dbo.uvwMyView out "c:\Test.txt" -SMyServer -T -c

我收到此错误:

SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Native Client]Unable to resolve column level collations 

搜索谷歌可以找到许多可能的解决方案,但没有一个对我有用,或者对他们被提议的任何人都有效。与在线发布的其他案例一样,当我在 Management Studio 中选择视图时,该视图没有问题,结果看起来很正常(并且没有特殊字符,我检查了)。结果中的一个文本列具有排序规则SQL_Latin1_General_CP1_CS_AS。我尝试了几个 bcp 选项但没有效果:-w、-CRAW、-COEM、-C850、-C437。

我正在使用 SQL Server 2005。

4

6 回答 6

1

删除视图并重新创建它可以解决问题。不幸的是,这并不能解释问题最初是如何发生的,或者将来如何防止它。这不是一个令人满意的解决方案,所以如果有人知道更好的答案,我仍然很想听听。

于 2009-11-11T15:20:19.907 回答
0
  • 您可以尝试远程连接到服务器并从那里运行不带 -s 选项的 bcp。
  • 如果服务器排序规则与数据库或列排序规则不同,请尝试创建格式文件并在 bcp 中显式指定它。
于 2009-11-09T18:26:23.757 回答
0

我知道这个问题已经回答了,但我会加我的 2 美分......我今天遇到了这个问题,我添加了一个 PRINT @VarableName 并且在研究中我发现了这个:

来自 MS Connect

删除 PRINT 解决了我的问题。

于 2011-08-22T19:03:52.580 回答
0

我对 SQL 2008 R2 数据库使用 SQL 2005 工具,在使用datetimeoffset字段时遇到了同样的错误。

于 2011-11-14T12:54:25.643 回答
0

试试这个:

declare @sql varchar(8000)
select @sql = 'bcp "select * from database_name.dbo.table_name" queryout      H:\Tempfile_DTU_proc\test1.csv -c -t, -T -S' + @@servername

exec master..xp_cmdshell @sql
于 2017-03-01T10:16:47.483 回答
0

我刚刚遇到这个问题并找到了不同的解决方案。由于配置错误,未将服务器名称提供给 BCP 命令。为了冗余和文档,此消息:“错误 SQLState = S1 000,NativeError = 0 错误 = [Microsoft][ODBC Driver 13 for SQL Server]Unable to resolve column level collat​​ion BCP copy out failed”

将 Server (-S) 参数中指定的空服务器值更改为正确的服务器名称。

于 2020-08-05T16:27:27.137 回答