0


0

正しいBCP構文

私は初めてのBCPユーザーです。 SQL Serverの新しいテーブルにインポートする必要があるXMLファイルがあります。 これは、SQL Server 2008およびBCPバージョン10.50.16を使用しています。 ドキュメントを読みましたが、370,000のエラーが発生しました! (これは非常に大きなファイルです)。 エラーログを開くと、疑問符がたくさん表示されます。

このXMLファイルについて:行を区切るために新しい行を使用しますが、フィールドを区切るためにスペース文字を使用します。 したがって、それが失敗の原因であるかどうかはわかりません。 失敗メッセージは次のとおりです。

BCPのコピーに失敗しました より詳細なエラーメッセージを取得する方法はありますか?

そうでなければ、ここに私のコマンドがあります:

d:\SQL Tables\data>bcp Development.dbo.wbl_zSkywardEnrollment2 in zSkywardEnroll
ment.xml -fSE_format.fmt -m50 -eseErrorLog -b100 -t0x20 -T -F107

これらのファイルはすべて同じディレクトリにあります。 完全なファイルパスを指定するように言っていますが、それらはすべて同じディレクトリにあり、ディレクトリを指定しなかった別の例を見て、これで十分だと思いました。

私もフォーマットファイルなしでこれを試しました、インタラクティブにそれをしましたが、同じエラーを受け取ります。

これは私のフォーマットファイルです:

10.0
32
1       SQLINT              0       4       " "    1     SCHOOL_YEAR                                ""
2       SQLNCHAR            2       20      " "    2     ENTITY_ID                                  SQL_Latin1_General_CP1_CI_AS
3       SQLINT              0       4       " "    3     TERM_NBR                                   ""
4       SQLINT              1       4       " "    4     SCHD_HST_GRAD_YEAR                         ""
5       SQLNCHAR            2       60      " "    5     OTHER_ID                                   SQL_Latin1_General_CP1_CI_AS
6       SQLNUMERIC          1       19      " "    6     GRAD_YR                                    ""
7       SQLNCHAR            2       120     " "    7     LAST_NAME                                  SQL_Latin1_General_CP1_CI_AS
8       SQLNCHAR            2       60      " "    8     FIRST_NAME                                 SQL_Latin1_General_CP1_CI_AS
9       SQLNCHAR            2       60      " "    9     MIDDLE_NAME                                SQL_Latin1_General_CP1_CI_AS
10      SQLDATETIME         1       8       " "    10    BIRTHDATE                                  ""
11      SQLNCHAR            2       4       " "    11    GENDER                                     SQL_Latin1_General_CP1_CI_AS
12      SQLNCHAR            2       20      " "    12    RACE_CODE                                  SQL_Latin1_General_CP1_CI_AS
13      SQLNCHAR            2       40      " "    13    DISTRICT_CODE                              SQL_Latin1_General_CP1_CI_AS
14      SQLBIT              1       1       " "    14    X_SPECIAL_EDUCATION                        ""
15      SQLBIT              1       1       " "    15    X_GIFTED_TALENTED                          ""
16      SQLBIT              1       1       " "    16    X_SECTION_504                              ""
17      SQLBIT              1       1       " "    17    X_MIGRANT                                  ""
18      SQLBIT              1       1       " "    18    X_IEP                                      ""
19      SQLBIT              1       1       " "    19    X_IEP_ACCOM                                ""
20      SQLBIT              1       1       " "    20    X_ESL                                      ""
21      SQLNCHAR            2       4       " "    21    STUDENT_STATUS                             SQL_Latin1_General_CP1_CI_AS
22      SQLINT              0       4       " "    22    STUDENT_ID                                 ""
23      SQLINT              1       4       " "    23    ENG_PROF                                   ""
24      SQLNCHAR            2       60      " "    24    ALPHAKEY                                   SQL_Latin1_General_CP1_CI_AS
25      SQLNCHAR            2       20      " "    25    SCHOOL_ID                                  SQL_Latin1_General_CP1_CI_AS
26      SQLNUMERIC          1       19      " "    26    MN_EDE_NBR                                 ""
27      SQLNCHAR            2       20      " "    27    LANGUAGE_CODE                              SQL_Latin1_General_CP1_CI_AS
28      SQLINT              1       4       " "    28    ADVISOR                                    ""
29      SQLBIT              1       1       " "    29    MN_LIMITED_ENGLISH                         ""
30      SQLNCHAR            2       20      " "    30    TYPE_STUDENT_ID                            SQL_Latin1_General_CP1_CI_AS
31      SQLNCHAR            2       20      " "    31    CY_TEAM_SCHD_ID                            SQL_Latin1_General_CP1_CI_AS
32      SQLNCHAR            2       20      " "    32    HOMEROOM_NUMBER                            SQL_Latin1_General_CP1_CI_AS

これは私のSQLテーブルです:

CREATE TABLE [dbo].[wbl_zSkywardEnrollment2](
    [SCHOOL_YEAR] [int] NOT NULL,
    [ENTITY_ID] [nvarchar](10) NOT NULL,
    [TERM_NBR] [int] NOT NULL,
    [SCHD_HST_GRAD_YEAR] [int] NULL,
    [OTHER_ID] [nvarchar](30) NULL,
    [GRAD_YR] numeric(19,0) NULL,
    [LAST_NAME] [nvarchar](60) NOT NULL,
    [FIRST_NAME] [nvarchar](30) NULL,
    [MIDDLE_NAME] [nvarchar](30) NULL,
    [BIRTHDATE] datetime NULL,
    [GENDER] [nvarchar](2) NULL,
    [RACE_CODE] [nvarchar](10) NULL,
    [DISTRICT_CODE] [nvarchar](20) NULL,
    [X_SPECIAL_EDUCATION] bit NULL,
    [X_GIFTED_TALENTED] bit NULL,
    [X_SECTION_504] bit NULL,
    [X_MIGRANT] bit NULL,
    [X_IEP] bit NULL,
    [X_IEP_ACCOM] bit NULL,
    [X_ESL] bit NULL,
    [STUDENT_STATUS] [nvarchar](2) NULL,
    [STUDENT_ID] [int] NOT NULL,
    [ENG_PROF] [int] NULL,
    [ALPHAKEY] [nvarchar](30) NOT NULL,
    [SCHOOL_ID] [nvarchar](10) NULL,
    [MN_EDE_NBR] [numeric](19, 0) NULL,
    [LANGUAGE_CODE] [nvarchar](10) NULL,
    [ADVISOR] [int] NULL,
    [MN_LIMITED_ENGLISH] bit NULL,
    [TYPE_STUDENT_ID] [nvarchar](10) NULL,
    [CY_TEAM_SCHD_ID] [nvarchar](10) NULL,
    [HOMEROOM_NUMBER] [nvarchar](10) NOT NULL
) ON [PRIMARY]

そして、1行目からこれを試しました。 どの行でBCPを開始する必要がありますか? このXMLの1行目は、SchemaおよびElementType情報で始まります。 しかし、107行目はrs:dataセクションの始まりです。

このXMLファイルの最初の部分:


1 Answer


1


これには「bcp」を使用できません。 `bcp`が提供できる最善の方法は、コンマ/タブ/などを含むファイルからのインポートです。 区切られた値。 `bcp`ドキュメントでxmlを参照しているすべての参照は、インポートする実際のデータではなく、フォーマットファイルを参照しています。

これを行うには、実際には2つの方法があります。 最も簡単な方法は、SQL Server Integration Servicesを使用することです。 Thisはさらに役立ちます。

また、https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-5796532.html [xmlファイルを読み取る]を使用してSQLサーバーにアクセスすることもできます。 次に、http://msdn.microsoft.com/en-us/library/ms187367.aspx [sp_xml_preparedocument]を使用してファイルを解析します。 最後に、http://msdn.microsoft.com/en-us/library/ms186918.aspx [OPENXML] http://sqlxml.org/faqs.aspx?faq=100 [と組み合わせて] http:/を使用します。 /msdn.microsoft.com/en-us/library/ms174335.aspx [INSERT]でデータをインポートします。