1

MSSQL と MYSQL を統合するための SSIS パッケージを作成しようとしています。私は入札や SSIS を使用した経験がなく、ここの指示に従っています。

OLE DB Source、Lookup、Conditional Split、OLE DB Destination、および OLE DB Command コンポーネントをデータ フローに追加し、条件付き分割コンポーネントまでの接続マネージャーと列マッピングを構成しました。

ここから、私は2つの問題に直面しています -

1) OLE DB 変換先を構成した後、コンポーネントに というエラー シンボルが表示されますcould not convert between unicode and non unicode string datatypes。これを解決するために、Conditional Split と Destination の間に Data Conversion Component を挿入して、問題のある列用に構成しようとしました。しかし、それは役に立たないようです

2) OLE DB コマンドの構成中に、[列マッピング] タブの右側の列に列が表示されません。疑問符付きの Sql コマンドを追加したので、間違っていなければ、「Param_0」、「Param_1」などの名前の列を表示する必要があると思います。入力および出力プロパティタブから手動で追加しようとしましたが、警告が表示されます。external columns for OLE DB command are out of sync with data source

ここで何が欠けていますか?

ありがとう

4

2 に答える 2

1

最初の問題を説明する方法では、うまくいくはずです。ここに確認すべきことがいくつかあります。

  1. データ変換コンポーネントは、変換されたデータの新しい列を作成します。次の変換と宛先でそれを参照していることを確認してください。
  2. データ変換コンポーネントを右クリックして、[高度なエディター]を選択します。詳細エディタで[入力と出力のプロパティ]タブを選択します。ツリービューの[データ変換出力]ブランチを展開し、新しい列を選択します。データ型のプロパティに、変換するデータ型も表示されていることを確認してください。これらの値が正しくない場合は、コンポーネントの設定に問題があります。

2番目の問題の場合、この問題は多くの場合、SqlCommand値のエラーが原因で発生する可能性があります。まず、[接続マネージャー]タブで接続マネージャーが正しいことを確認します。[列のマッピング]タブに切り替えます。フォームの下部近くに、SQLステートメントを準備できないことを示す警告メッセージが表示される場合があります。言い換えると、SSISはステートメントが何をするのかを理解できません。SQLステートメントの問題に対処し、[列のマッピング]タブに戻ります。SQLステートメントを解析できるようになると、列が表示されます。

于 2011-01-14T18:57:58.370 に答える
0

変換の問題を回避したい場合は、宛先テーブルの列の型を char/varchar から nchar/nvarchar に変更してください。mysql ソースと宛先に ADO コネクタを使用する必要があると確信しています。mysql ソースからデータを読み取り、ソース コンポーネントと宛先コンポーネント以外を使用せずに mssql データベースに書き込むことができるはずです。

于 2011-01-14T22:27:10.980 に答える