运行此:

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 

搜索Google找到了许多可能的解决方案,哪些解决方案对我有用或为他们建议的任何人工作。与其他在线发布的情况一样,当我在管理工作室中选择它时,该视图不会引起任何问题,并且结果看起来正常(并且没有特殊的字符,我检查过)。结果中的一个文本列有整理 SQL_Latin1_General_CP1_CS_AS. 。我尝试过几种BCP的选择,但没有任何效果:-w,-craw,-coem,-c850,-c437。

我正在使用SQL Server 2005。

有帮助吗?

解决方案

放下视图并重新创建它解决了问题。不幸的是,这并不能解释问题首先是如何发生的,或者将来如何预防问题。这不是一个令人满意的解决方案,因此,如果有人知道一个更好的答案,我仍然对听到它非常感兴趣。

其他提示

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

来自MS Connect

删除印刷品解决了我的问题。

  • 您可以尝试远程连接到服务器,并在没有-s选项的情况下运行BCP。
  • 如果服务器整理与数据库或列整理不同,请尝试创建格式文件并在BCP中明确指定它。

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

尝试这个:

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top