Informix 4GLからMicrosoft SQL Server T-SQLへの移行
Ispirer Migration and Modernization ToolkitはInformix 4GLからMicrosoft SQL Server T-SQLへの自動移行をご提供します!ツールにはお客様の特別な要件を満たすためのカスタマイズを追加
することもできます。
Informix 4GLからMS SQL Server T-SQLへの変換にIspirer MnMTKを使う理由
Ispirer Systemsの主な目標は、高度で一線級のアプリケーション移行を実行することです。移行ツールIspirer MnMTKは、様々な個別のビジネス要件に応えることができる費用対効果の高い製品です。
主な利点:
- 優れたテクニカルサポート:私たちの技術チームは、異なる複雑性の移行プロジェクトにおいて豊富な経験を持っています。
- 顧客志向のアプローチと迅速なカスタマイズ:修正、カスタム変換、最適化(ほとんどの要件は 1~2 日で対応)
- 検討段階での共同作業:お客様の検討期間中に変換のデモをお見せすることができます。
- 柔軟な価格設定:幅広いオプションを提供することができます。
- 最適化された変換:インテリジェントで保守し易いコードを生成します。
変換後のソースの利用に特別なIspirerのミドルウェア等は必要ありません。
アセスメント
アセスメント作業は簡単ですぐに移行に要する作業とコストを見積もることができます。お見積に必要な情報は、下記のフォームを参照いただくと揃えることができます:
Ispirer移行ソリューションInformix 4GLからMS SQL Serverへ リクエスト
変換機能
InformixデータベースからMicrosoft SQL Serverデータベースへ:
- テーブルおよびデータ
- カラム定義の変換 - データタイプ、デフォルト値、NOT NULL 制約
- 整合性制約の変換 - 主および外部キー、ユニークおよびチェック制約
- コメントの変換
- 予約語および識別名の重複の解決
- データの転送
- インデックスおよびビュー
- ストアドプロシージャ、ファンクションおよびトリガ
- オーバーロードされたプロシージャおよびファンクションの変換
- グローバル変数の変換
- InformixのOUTER JOIN 構文の変換
- 例外処理の変換
- ダイナミックSQLの変換
Informix 4GLコードをMicrosoft T-SQLへ変換
- Informix 4GLのファンクション (*.4gl) をT-SQLのファンクション/
プロシージャ (*.sql)へ
Informix 4GL:
FUNCTION sample_func(s_char) #-------------------# define s_char CHAR(100), i SMALLINT, j SMALLINT, r_char CHAR(100) let r_char = " " FOR i = 1 TO 100 IF (s_char[i,i] = " ") THEN continue FOR ELSE let r_char = s_char[i,100] exit FOR END IF END FOR RETURN r_char END FUNCTION
Microsoft SQL Server T-SQL:
FUNCTION sample_func(@s_char CHAR(2000)) ---------------------# RETURNS CHAR(2000) BEGIN DECLARE @i INT = 0 DECLARE @j INT = 0 DECLARE @r_char CHAR(100) = ' ' DECLARE @SWR_i INT SET @r_char = SUBSTRB(' ',1,100) SET @SWR_i = 1 while (@SWR_i <= 100) BEGIN SET @i = @SWR_i IF(SUBSTRB(@s_char,@i,1)) continue ELSE BEGIN SET @r_char = SUBSTRB(SUBSTRB(@s_char,@i,101 -@i),1,100) BREAK END SET @SWR_i = @SWR_i+1 END RETURN @r_char END
コメントの変換:
1行のコメント
Informix 4GL:
#Comment
Microsoft SQL Server T-SQL:
--Comment
数行のコメント:
Informix 4GL:
{
Comments
}
Microsoft SQL Server T-SQL:
/* Comments */
データ型の変換
Informix 4GL型 |
Microsoft T-SQLデータ型 |
char(length) |
CHAR(length) |
smallint |
INT |
integer |
INT |
date |
DATETIME |
decimal(n,m) |
DECIMAL(n,m) |
レコードをテーブル型の変数へ変換
Informix 4GL:
define c0 record LIKE ctl_f0.*
Microsoft SQL Server T-SQL:
DECLARE @c0 TABLE (ctl_f0_id INT, ctl_f0_name VARCHAR(100), ctl_f0_description VARCHAR(1000))
ビルトイン関数、式、述語の変換
|
Informix 4GL型 |
Microsoft T-SQLデータ型 |
Ascii関数 |
let a = ascii 223 |
SET a = CHAR(223) |
Clipped関数 |
let a = b clipped |
SET a = RTRIM(b) |
Date関数 |
let a = date(b) |
SET a = CONVERT(DATETIME, b) |
Day関数 |
let a = day(b) |
SET a = DATEPART(DAY, b) |
Mdy関数 |
let a = mdy(b,c,d) |
SET a = CONVERT(DATETIME,STR(b) + '-' + STR(c) + '-' + STR(d)) |
Month関数 |
let a = month(b) |
SET a = month(b) |
Upshift関数 |
let a = upshift(b) |
SET a = UPPER(b) |
Using関数 |
let a = b using "######&" |
SET a = STR(b,[’9999990’]) |
Year関数 |
let a = year(b) |
SET a = year(b) |
Concat式 |
let a = b, “cd”,d |
SET a = b + [“cd”] + d |
Mod式 |
let a = b mod 2 |
SET a = b%2 |
Substring式 |
let a = b[2,2] |
SET a = substr(b,2,1) |
True/False式 |
let a = true
let a = false |
SET a = true
SET a = false |
Matches述語 |
if (n not matches "[0123456789]") then |
if (not regexp_like(n,'[0123456789]')) then |
ビジネスロジックステートメントの変換
例えば、
For range loop
Informix 4GL:
FOR i = 1 TO 10… … END FOR
Microsoft SQL Server T-SQL:
SET @i = 1 while (@i <= 10) BEGIN … SET @i = @i+1 END
ケースステートメント
Informix 4GL:
CASE a WHEN 1 … WHEN 2 … otherwise … … END CASE
Microsoft SQL Server T-SQL:
IF @a = 1 … ELSE IF @a = 2 … ELSE IF … … ELSE … END
カーソル宣言
Informix 4GL:
DECLARE cur_n0 cursor FOR SELECT n0_ch FROM nkin_a WHERE (n0_kau_no = s_kau_no) AND (n0_cd = s_cd)
Microsoft SQL Server T-SQL:
DECLARE CUR_N0 cursor FOR SELECT n0_ch FROM nkin_a WHERE (n0_kau_no = s_kau_no) AND (n0_cd = s_cd)
詳細はお問い合わせください。
|