Windows2000+SQL2000からWindows8.1+SQL2012へ変換

2013年の仕事の一部の覚書
Windows2000+SQL2000+VB6 から Windows8.1+SQL2012+VS2012 への
プログラムの 移植に伴う 注意点

01.SQL2000から SQL2012 へは 直接移行できない。
  バックアップした データを 復元で読み込もうとしても、形式がサポートしていないので
  直接は移行できない。
  SQL2005 または SQL2008 で 復元して、バックアップしたものから
  移行する必要がある。

02.VB6から VS2012 VB への 移植。
 VS2005 などには、変換ツールがあるが、サポートしていないDLLがあると
 まったく移行できないので、手作業で変換する必要がある。

 元のプログラムの ソースがあるので .FRM ファイルから
 .VB への 変換プログラムを 作成し 移植する。
 オリジナルの 元ネタプログラムも 自身で 作成したので、
 変化プログラムを 作れば、 TEXTBOX LABEL等の 以降は 位置も含めて
 簡単に 移行できた。

 ロジックに関しては、オリジナルのソースから コピーペーストで ほとんど終了した。
 データベース操作に関しては オリジナルが DOA だったのを ADODB に 変更して
 ほぼ完了した。

03.クリスタルレポートの 移植
 もともと 基本帳票は クリスタルレポートを 使用していたので 移行は簡単だったが
 データベースソースが、オリジナルは 作業用ファイルとして アクセスを使用していたので
 その部分は、 VS2012側で ダミーの DATASET を作成して、アクセスから DATATABLEを
 コピーして、参照先を そちらにすれば、移行できた。
 以前は、この方法が思いつかず、苦戦したが、今は 古いクリスタルレポートでも簡単に移行できる。

04.ドットプリンターの印刷ロジック移植。
 この部分が、一番苦労した。
 もともとの印刷ロジックがジ ジャーナルプリントの  WritePrinter API を 使用して
 印刷していた。
 テストの段階では、弊社にある 古い OKI8340SV を使用して 印刷していたが、
 このプリンターでは ロジックはそのままで 稼働したので、本稼働のプリンター 8480SU-2
 で テストしたところ、 まったく印字しない事態になった。
 プリンタードライバー側で ジャーナルプリント を 拒否している感じで 送信したデータが
 無視されて消えてしまった。

 急きょ 通常の Printdocument を 使用する方式の 変更した。

 できるだけロジックは変更したくなかったので、LPRINT関数を作成て(元のプログラムでも作成)
 改行コードがあれば、自動的にY座標を ずらすようにして、基本ロジックは ほとんどいじらずに
 作成できた。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This blog is kept spam free by WP-SpamFree.