in

TimberLandChapel.com Community Stage

技術者はたゆまぬ努力と一瞬のひらめき。。。
TimberLandChapel は日々研鑽する技術者をサポートします。DevPartner U.G. を立ち上げました。(2007.08.20)

インポートのデータ変換について

最新の投稿は、投稿日時: 2008-07-14 16:33 投稿者: maseki です。スレッドには 2 件の返答があります。
ページ 1 / 1 (3 アイテム)
投稿のソート: 前へ 次へ
  • 2008-07-14 12:47

    • maseki
    • 貢献度トップ 10
    • 登録日 : 2007-05-25
    • 投稿数 22

    インポートのデータ変換について

    お世話になっています。MASEKIです。
    SQLサーバーのエラーログのフォルダのログデータをクライアントPCに収集する必要があり、セキュリティ上の理由で、SQLサーバーのテーブルに一旦保管しようとしています。
    SQLサーバーのオブジェクトエクスプローラ画面のSQLServerエージェントフォルダのツリーのエラーログフォルダのWindowsNT(セキュリティ、システム、アプリ)をチェックし展開するログデータをtextデータにエクスポートしました。

    このテキストファイルをテーブルにインポートしているのですが、データ変換がうまくいきません。
    ログデータの「メッセージ」項目の変換でエラーが生じます。
    データ変換の際の入力の定義を文字列[DT-STR]とし、作成するテーブルの文字列をvarchar[max]とします。
    実行段階での次エラーのメッセージがでてます。以下はレポートの中でのメッセージの一部です。対応に向けてのアドバイス願います。

    「- 実行しています (エラー)
    メッセージ
    エラー 0xc02020a1: データ フロー タスク: データ変換に失敗しました。列 "メッセージ" のデータ変換から、状態値 4 と状態を示すテキスト "テキストが切り捨てられたか、または対象になるコード ページで 1 つ以上の文字が一致しませんでした。" が返されました。
     (SQL Server インポートおよびエクスポート ウィザード)
     
    エラー 0xc020902a: データ フロー タスク: "出力列 "メッセージ" (22)" が切り捨ての発生により失敗しました。"出力列 "メッセージ" (22)" の切り捨て行の処理により、切り捨てによる失敗が示されます。ここに示されたコンポーネントのオブジェクトで切り捨てエラーが発生しました。
     (SQL Server インポートおよびエクスポート ウィザード)
     
    エラー 0xc0202092: データ フロー タスク: データ行 0 で、ファイル "H:\共有_seki\マニュアル用素材\log_kanri_200806.txt" の処理中にエラーが発生しました。
     (SQL Server インポートおよびエクスポート ウィザード)
     
    エラー 0xc0047038: データ フロー タスク: コンポーネント "変換元 - log_kanri_200806_txt" (1) の PrimeOutput メソッドからエラー コード 0xC0202092 が返されました。パイプライン エンジンが PrimeOutput() を呼び出したときに、このコンポーネントからエラー コードが返されました。このエラー コードの詳細はコンポーネントで定義されていますが、これは致命的なエラーであり、パイプラインの実行は停止されました。
     (SQL Server インポートおよびエクスポート ウィザード)
     
    エラー 0xc0047021: データ フロー タスク: エラー コード 0xC0047038 により、スレッド "SourceThread0" は終了しました。
     (SQL Server インポートおよびエクスポート ウィザード)
     
    エラー 0xc0047039: データ フロー タスク: スレッド "WorkThread0" はシャットダウンの通知を受け取ったので終了処理中です。ユーザーがシャットダウンを要求したか、別のスレッド内のエラーが原因でパイプラインがシャットダウンされています。
     (SQL Server インポートおよびエクスポート ウィザード)
     
    エラー 0xc0047021: データ フロー タスク: エラー コード 0xC0047039 により、スレッド "WorkThread0" は終了しました。
     (SQL Server インポートおよびエクスポート ウィザード)」

    タグ :
  • 2008-07-14 15:14 返答元:

    Re: インポートのデータ変換について

    お疲れ様です。TimberLandChapelです。

    エラー 0xc02020a1: データ フロー タスク: データ変換に失敗しました。列 "メッセージ" のデータ変換から、状態値 4 と状態を示すテキスト "テキストが切り捨てられたか、または対象になるコード ページで 1 つ以上の文字が一致しませんでした。" が返されました。
     (SQL Server インポートおよびエクスポート ウィザード)

    エラーログの示すとおりです。

    入力列「メッセージ」を

    DT_STR型にされているとのことですので,DT_STR(50)のまま使用しているのではありませんか?

    SSIS では,ソースフラットファイルにも厳密なデータ定義が適用されます。

    単純にエクスポートしただけなら,おそらくUnicodeテキストファイルになっているはずなので,DT_NTEXT型を使用すればよいですね。

    厳密にデータの長さを定義するならもう少し調整する必要はありますが。

    /----------
     TimberLandChapel
     TimberLandChapel.com Community Stage 管理者
    ----------/
  • 2008-07-14 16:33 返答元:

    • maseki
    • 貢献度トップ 10
    • 登録日 : 2007-05-25
    • 投稿数 22

    Re: インポートのデータ変換について

    ありがとうございます。ご指摘いただいたように

    入力文字列 DT_NTEXT

    出力テーブルの文字列 NTEXT

    で解決できました。 

     

    タグ :
ページ 1 / 1 (3 アイテム)
Powered by Community Server (Non-Commercial Edition), by Telligent Systems