2009-11-09 45 views
1

運行此:BCP:無法解析列級排序規則

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中

回答

1

刪除視圖並重新創建它解決了問題。不幸的是,這並不能解釋首先發生的問題,或者未來如何預防。這不是一個令人滿意的解決方案,所以如果有人知道更好的答案,我仍然非常有興趣聽到它。

0
  • 您可以嘗試遠程連接到服務器並運行BCP沒有-s選項從那裏。
  • 如果服務器排序規則與數據庫或列排序規則不同,請嘗試創建格式文件並在bcp中明確指定它。
+1

這可能並不容易,但我會嘗試的,它可能提供有用的信息(儘管我對此表示懷疑)。不幸的是,無論如何,我都無法在生產中像這樣運行這個過程,所以從長遠來看,它無法幫助我,除非它能以某種方式幫助我們追蹤問題的真正根源。 – user12861 2009-11-09 18:39:02

+0

格式文件的好主意,但不幸的是我得到了同樣的錯誤。 – user12861 2009-11-09 18:54:51

+0

當你運行這個命令時,對於列格式(請參閱xml)有什麼要求: bcp MyDB.dbo.uvwMyView format null -fc:\ FMT_01.xml -x -c -T -t – 2009-11-09 19:19:23

1

我知道這個問題已經回答了,但我會加入我的2美分... 我遇到了這個今天,我不得不添加打印@VarableName和研究,我發現這一點:

From MS Connect

刪除打印解決了我的問題。

+1

有趣的,謝謝你加入這個,但它不是我的問題。我沒有任何PRINT語句。 – user12861 2011-08-22 19:48:16

0

我對SQL 2008 R2數據庫使用SQL 2005工具,並且在使用datetimeoffset字段時遇到了同樣的錯誤。

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 
相關問題