質問
これを実行する:
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を検索すると、多くの可能なソリューションが見つかりますが、どれも私のために機能したり、提案された人のために働いたりしていません。オンラインで投稿された他のケースと同様に、マネジメントスタジオで選択したときにビューは問題を引き起こしません。結果の1つのテキスト列には照合があります SQL_Latin1_General_CP1_CS_AS
. 。私はBCPにいくつかのオプションを試しました:-w、-craw、-coem、-c850、-c437。
SQL Server 2005を使用しています。
解決
ビューをドロップして再作成すると、問題が解決しました。残念ながら、これはそもそも問題がどのように起こったか、または将来それを防ぐ方法を説明していません。これは満足のいく解決策ではないので、誰かがより良い答えを知っているなら、私はまだそれを聞くことに非常に興味があります。
他のヒント
私はこの質問がすでに答えられていることを知っていますが、私は私の2セントを追加します...私は今日これに出会いました、私は@varableNameの印刷を追加しました、そして私はこれを見つけました:私はこれを見つけました:
印刷を削除すると、問題が修正されました。
- そこから-Sオプションなしでサーバーにリモート接続し、BCPを実行しようとすることができます。
- サーバーの照合がデータベースまたは列の照合と異なる場合は、フォーマットファイルを作成し、BCPで明示的に指定してください。
SQL 2008 R2データベースに対してSQL 2005ツールを使用していましたが、使用すると同じエラーが発生しました 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
所属していません StackOverflow