私は一括挿入によって、SQL Server 2008に一部のデータをインポートしようとしていますが、私は変換エラーのトンを取得してきた:SQL一括挿入エラー4863
メッセージ4864、レベル16、状態1、行1 行5902、列2(タイプ)のバルク・ロード・データ変換エラー(指定されたコード・ページの型不一致または無効な文字)。最初
OKので、最初のもの:
a)のデータは、私はC#で構築されたパーサから来ています。このファイルには、タブで区切られた4つの列があります。列はnullでもかまいません。照合順序はUTF-8です。 ここにその抜粋があります。
D00486 DBLinks PubChem 7847552
D00486 DBLinks LigandBox D00486
**D00487 Name Pyridostigmine bromide (JP15/USP/INN)** -- WORKS
D00487 Name Mestinon (TN)
D00487 Chemical 260.016 C9H13N2O2. Br
D00487 Target PATH:hsa00564(43)
D00487 Remark Therapeutic category: 1239
D00487 Remark ATC code: N07AA02
D00487 Pathway PATH: map07220 Cholinergic and anticholinergic drugs
D00487 DBLinks CAS 101-26-8
D00487 DBLinks PubChem 7847553
D00487 DBLinks DrugBank DB00545
D00487 DBLinks LigandBox D00487
**D00488 Name Pyrimethamine (JAN/USP/INN)** -- DOES **NOT** WORK!
D00488 Name Daraprim (TN)
2番目の行から最後の行までは、以前に表示したようなエラーメッセージが表示されます。 本当に私を驚かせるのは、私が太字に置いた他の行は非常に似ていますが、エラーはまったく発生しません。
B)これは私がテーブルを作成するために使用しているものです:
CREATE TABLE [dbo].[KB] ([BEName] [nvarchar](1000) NOT NULL, [Type] [nvarchar](1000) NULL, [Name] [nvarchar](1000) NULL, [Value] [nvarchar](1000) NULL) ON [PRIMARY]
C)これは私が現在のファイルからデータをインポートするために使用しているものです:
DECLARE @SQL nvarchar(4000)
SET @SQL = 'BULK INSERT KB FROM ''C:\KB.xml'' WITH (FirstRow = 1, FORMATFILE = ''C:\out_KB.fmt'')';
EXEC(@SQL)
私は手動でfmtファイルを生成しなければなりませんでした。なぜなら、何らかの理由でBCPがデータベースに接続できなかったからです(まだそれについての基礎を作っています...)。そうでなければならない可能性があります。いずれにせよ、ここではそれは中身だ、次のとおりです。私は以前に述べてきたように、私はBCPと多くの経験を持っていない
9.0
4
1 SQLCHAR 0 100 "" 1 BEName SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 500 "\t" 2 Type SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 500 "\t" 3 Name SQL_Latin1_General_CP1_CI_AS
4 SQLCHAR 0 500 "\n" 9 Value SQL_Latin1_General_CP1_CI_AS
。当初、私は単に
BULK INSERT KB FROM ''C:\KB.xml'' WITH (FirstRow = 1, RowTerminator = ''\n'' , FieldTerminator = ''\t'')
を使用していましたが、とにかく動作しませんでした。私はまだFMTファイルの代わりにこれを使っています。私はグーグルで試してみましたが、\ n \ crで\ nをスワップしたり、代わりに\ nのASCIIコードを導入したりするなど、いくつかのトリックを試みました。
アイデア?私は、私は今、疲れていると言うことはできません正午まで何か寝るか:S(それは今ここに午前4時です)。
乾杯メイト、おかげで、事前 ハル
PS:私は、サンプルはOKだと思いますが、私のゲストも、あなたがいつでも必要があるかもしれないものをリクエストしてください。 PS2:テキストの壁には申し訳ありません)
いい考えです。ありがとうございます。 私はいつかそれを実装しなければなりません、今私はタスクのGUIを通してデータをインポートすることができました。 ありがとうもう一度 –