開発中の SSIS パッケージがあります。SQL Server 2005 から MS Access 2007 にデータを書き込もうとしています。
SQL char(1) フィールドを Access の Yes/No フィールドに変換する方法にかなり困惑しています。
私が収集した情報によると、Access の Yes/No フィールドに相当する SQL は、値が 0 または 1 のビット フィールドです。
SQL char(1) フィールド (ソース フィールド) に "N" または "Y" が含まれています。ビットフィールドを使用するオプションがないため、ジレンマです。ブール値と整数にキャストしようとしましたが、成功しませんでした。
私のデータ フロー タスクでは、正規表現を作成しようとしましたが、役に立たず、派生列、データ変換なども役に立ちませんでした。ハマった。
.Row コレクションをループする条件ステートメントを作成する例をいくつか見てきました。NULL チェックまたは文字列値の条件を記述しなければならないのは、少しやり過ぎのようです。
MSDN のリンクSSIS Equivalent to DTS Transform Data Task Propertiesには、次のようなコードがあります。
If DTSSource("Col010") = "Y" Then
DTSDestination("X") = -1
Else
DTSDestination("X") = 0
End If
コードを使用して、行の値を直接操作できるようにする必要がありますか? ソース フィールドは Yes/No タイプなので、整数値を受け入れますか? 負の値?はい、実際には MS アクセスでは "-1" です。これは私を混乱させていると思います。
正規表現でこの問題を解決できるようですが、それを使用する方法もわかりません。
私が見落としているものはありますか?「CHAR」を「YES/NO」に変換する方法が必要です。
** 古き良き 2000 年の SQL DTS は、サルがインストールした箱から出してすぐに、デフォルトで問題なくこれを処理できることをここで指摘するのは簡単です。私は、この Yes/No フィールドの問題など、SSIS の非常に小さな癖に WAAAAY を費やしすぎていることに気付きました。
SSIS および MS Access の Yes/No フィールドに関するドキュメントが見つかりません。MSDN でも、質問を投稿することはできません。私は知っています、貧しい私:(
SSIS と MS Access でこの癖に遭遇した人はいますか?