[質問]
HiT OLEDB/400のドライバでAS/400(iSeries)とSQLServer2005(64bit版)とのDTSによる通信を行っていますが、AS/400 -> SQLServerへのデータ送信は無事成功するのですがSQL Server -> AS/400へデータ送信を行うと、文字データ部分(Char,VarChar)がすべてブランクになります。
数字データ部分(Int、Decimal)は、無事送信できます。
[回答]
これはSQLServerのバグです。
SQLServerはインサート中にドライバに対してエンプティ(空)のストリングを送るために、AS/400サイドのターゲット・テーブルには何もない状態になります。
これを回避するために、インサートを実行させるスクリプトを作成することができます。
参考「Creating a Destination with the Script Component(スクリプト コンポーネントによる変換先の作成)」の日本語サイトは:
http://msdn2.microsoft.com/ja-jp/library/ms135939.aspx
になります。
関連したトピックス
- リモートディストリビュータ(SQLServer)【リアルタイムレプリケーションツールDBMoto】
- DBMOTOLIB Libraryの手動での作成方法(AS/400)【リアルタイムレプリケーションツールDBMoto】
- ミラーリング時にWarningメッセージが表示される場合【リアルタイムレプリケーションツールDBMoto】
- Microsoft SQL Server と HiT OLE DB プロバイダでリンク・サーバ作成
- HiT OLEDB Server/400とSQL Server Data Transformation Service (DTS)を利用したAS/400とSQL Serverとのデータ変換
- DBMOTOライブラリ(DBMOTOLIB):AS/400【リアルタイムレプリケーションツールDBMoto】
- DBMotoを使用してデータベース変更用の監査ログの作成方法【リアルタイムレプリケーションツールDBMoto】
- HiT OLEDB/400 Ver7 とHiT ODBC/400 Ver11. リリースノート: 2016/1月
- DBMotoユーザ事例:フィジシャン・アソシエーツ
- レプリケーション時には双方のDBのデータタイプ文字サイズに注意