質問

私は、Samba共有からテキストファイルをインポートするには、SQL Serverのbcpユーティリティを使用しようとしています。 bcpはUnixの行末に窒息されます。私は、Windowsスタイルに改行コードを変更するには、UNIXまたはWindows上で、中間ステップを追加することができます確信しています。しかし、私は修正なしのUnixからファイルをインポートすることを好むだろう。

Unixの行末を探すために、SQL ServerのBCPを伝える方法があります場合は、

誰もが知っていますか?

役に立ちましたか?

解決

あなたはBCPでフォーマットファイルを使用して、\ nとターミネータを指定する必要があります。対話型のコマンドラインは常に形式のファイルは、指定した正確に何を使用します\ rを、追加します。参考のhttp:// WWW .eggheadcafe.com /ソフトウェア/ ASPNET / 32239836 / BCPアウトと-char10-AS-行terminator.aspxする

形式のファイルを作成すると、BOLでかなりよく説明されていますが、助けが必要な場合は、あなたのオリジナルの記事を更新/コメントます。

他のヒント

単純な答えは、行ターミネータとして、コメントのいずれかに記載されたように、六角を使用することである。

-r 0x0a

あなたは= '\ n' はROWTERMINATORを設定しようとした?

私はあなたがbcpコマンドラインからこれを行うことができるとは思いません。しかし、私は、次のSQLバージョンが動作すると思います。

DECLARE @Command nvarchar(1000)

SET @Command = N'BULK INSERT MyTable
FROM ''<path\file>''
WITH (ROWTERMINATOR = '''+CHAR(10)+''')'

exec sp_executeSQL @Command
あなたは非常に詳細にbcpを勉強する多くの時間を持っていない場合は、

、この1つをチェックしてください。 http://msdn.microsoft.com/en-us/library/ms190759。 ASPXする

(あなたが繰り返しこれをやろうとしている場合)

これは、などなど、あなたが終わったら、形式を保存するオプション、対話型のプロンプトが何を意味するかを説明し、あなたに簡単な例を提供します。

あなたのデータが大きいおよび/またはあなたが好きないくつかのfildsを持っている場合は、

、あなたは少し裁判のエクスポートを行い、その後、最初のテーブルを作ることができます(bcpは、最初の引数として、単純な選択を取る)と、まだ対話形式でフォーマットを選択、列コラムによります。あなたはそのためのいくつかの余分な理由がある場合は、保存されたFMTファイル後者に掘ることができます。

はい、これは腹立たしいです。私の理解では、SQL ServerのBCPは、常にあなたが使用することを期待するものは何でもラインターミネータの前に\ rを挿入することです。あなたは-rを使用していないのであれば、あなたはそれが\ n個のみ使用することを期待します。それは\ rを\ n個を使用できるように、しかし、それは...それは愚かR \挿入しません。あなたは-rを指定した場合、\ rを\ nはそれはまだ動作しません。それが今、\ rを\ rを\ n個のラインが終了したいので、私は疑います。これは、Windowsの世界のためのいくつかの馬鹿コーディングが初心者のための生活を楽にしようと他の皆のために不可能に近付いものを作り終わるのすべての作業です。 SQLサーバへのSybaseからファイルを転送するとき、私は、この問題を経験し、その溶液を-r \ rを\ n個のSybaseからのBCPアウトで指定した(あなたはそれを聞いて正確に動作します!)と-rの\ nを(あるいは単にドン「Tは、中のSQL ServerのBCPのための)-rを使用ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top