2017-03-22 7 views
2

私は質問があります:ファイルをカラムdocumentbodyntextというデータタイプでロードして、testing.dbo.table00 SQLクエリを使用してロードできますか?SQL Serverにワードドキュメントを挿入する

INSERT INTO [Testing].[dbo].[table00](documentbody) 
    SELECT BulkColumn 
    FROM OPENROWSET(BULK N'C:\Users\XXX\filename.docx', CLOB) as TheFile 

しかし、私はこのエラーを取得しています:

INSERT INTO [Testing].[dbo].[table00](documentbody) 
    SELECT BulkColumn 
    FROM OPENROWSET(BULK N'C:\Users\XXX\filename.docx', SINGLE_BLOB) as TheFile 

私も次のクエリを試してみました:

私は

Msg 206, Level 16, State 2, Line 2
Operand type clash: varbinary(max) is incompatible with ntext

は、コードのエラーメッセージを取得しています:

Msg 155, Level 15, State 1, Line 4
'CLOB' is not a recognized BULK OPENROWSET provider option.

エラーを解決するにはどうすればよいですか?ありがとう

+1

を 'ntext'、' text'、と 'image'データ型は、SQL Serverの将来のバージョンで削除されます。新しい開発作業でこれらのデータ型を使用しないようにし、現在使用しているアプリケーションを変更することを計画します。代わりに 'nvarchar(max)'、 'varchar(max)'、 'varbinary(max)'を使用してください。 [詳細はこちら](http://msdn.microsoft.com/en-us/library/ms187993.aspx)プラス:Wordファイルを保存すると、バイナリ**のバイトストリームが生成されます - テキスト形式の 'varchar(max) 'カラムではなく、' varbinary'を使用します..... –

答えて

2

それはエラーで - ntextデータ型である列にvarbinaryデータを挿入しようとしています。列documentbodyvarbinaryデータ型に変更する必要があります。あなたはこの構文を使用して行うことができます。

ALTER TABLE table_name 
ALTER COLUMN column_name datatype; 

さらに読書 - binary and varbinary (Transact-SQL)

+1

ありがとう!列をvarbinaryデータ型に変更した後にロードすることができました。 – grc

関連する問題