2017-01-19 6 views
0

.CSVの一括挿入をリモートから実行しようとしています。SQL Server一括挿入 - 0行に影響があります

私のSQL文は次のとおりです。CSVをUTF-8エンコーディングで保存され

john,smith 
jane,doe 

を、との下部にある空白行はありません。

BULK INSERT dbo.tblMaster  
FROM '\\ZAJOHVAPFL20\20ZA0004\E\EDData\testbcp.csv' 
WITH (FIELDTERMINATOR = ',', 
      ROWTERMINATOR = '\n') 

.CSVは、このようになりますファイル。一括挿入しているテーブルも空です。

表には2つの列があります。 firstname (nvarchar(max))およびsecondname (nvarchar(max))

私はサーバー上でsysadminという権利を持っており、バルク挿入を実行する権限を持っています。

SQLを実行する場合、それはエラーなしで実行され、単純なショー -

0行(複数可)

に影響を与え、任意の情報を挿入しません。

ご協力いただきまして誠にありがとうございます。

+0

「.CSV」Excelシート、plzを意味します。 –

+0

サンプル '.CSV'であなたのコードを試しましたが、うまくいきました。 –

+0

ちょっとOP、あなたのSQLサーバーは、ネットワーク上のその場所を見ることができないようだ、またはあなたがアクセス権がないことができます...あなたのDBA – JohnHC

答えて

0

最初にbcp.exeを使用してファイルを挿入してみてください。行やエラーがないかどうかを確認してください。問題は、偽装と委任のセキュリティを画像に持ち込んでいるため、問題を診断するのが難しいということです。このようなリモート共有にアクセスすると、実際には「ダブルホップ」のKerberos偽装(別名代表)が行われ、特別なセキュリティ設定が必要になります。詳細はBulk Insert and Kerberosをお読みください。

0

問題は、少なくとも部分的にUTF-8エンコーディングです。これはデフォルトではサポートされていません。 SQL Server 2016を使用している場合は、コードページ65001を指定することができます(つまり、WITH句に, CODEPAGE = '65001'を追加します)。以前のバージョンのSQL Serverを使用している場合は、まずファイルエンコードをUTF-16リトルエンディアン(Microsoftユニバースの「Unicode」とも呼ばれます)に変換する必要があります。これは、ファイルを保存するとき、またはコマンドラインユーティリティによって実行できます。

関連する問題