LoginSignup
17
4

More than 3 years have passed since last update.

Windows10にVB6アプリを移行する際の問題点とまとめ

Last updated at Posted at 2021-04-23

はじめに

始めまして、タイトル通り、Windows10にVB6アプリを移行する際に起きた問題点をまとめたいと思います。

本来であれば既にレガシーとなっているシステムではありますが、世の中でまだ利用者が多いと思われるVB6アプリをWindows7(32bit版)から、Windows10(64bit版)に延命の為
移行する事となり、その時起きた問題を中心に内容を記載しました。

環境情報

  • 移行元:

    •   Windows 7 Professional
    •   メモリ 8GB
    •   CPU intel core i5
  • 移行先:

    •   Windows10 pro 64bit版
    •   メモリ 8GB
    •   CPU intel core i7

発生した問題

自社アプリのインストーラーを使用しインストール後、アプリを起動した所、以下メッセージが発生しました。

WS000013.JPG

原因

自社アプリの仕様となりますが、会社で持っているoralcedbに接続して処理を行うアプリであり、流れとしては以下の形で行っておりました。

WS000012.JPG

調べた所、Windowsアプリケーションでoralcle接続を行う際に、使用するミドルウェアが存在し、
それが「oo4o(Oracle Objects for OLE)」となっております。
oracleを扱う際はoracle clientのインストールが必要なのですがoo4oの提供が行われているのが11gまでとなっておりました。
また、oracle client11gには 32bit版、64bit版の2種類があり、最初はPCの環境に合わせて64bit版を入れたのですが
Vb自体は32bit版にしか対応していない為、そちらをインストールしていなかったのも原因でした。
※アプリによってはODBCを使った接続方法もあるかと思いますが今回は、oo4oを使用していた場合の解消方法を記載させていただきます。

oracleサポート概要:

oracle client ver サポート内容
oracle client 11g以前 ・oo4o(Windows用アプリケーション向けにOracleが提供しているデータベースへ接続するミドルウエア)を提供
oracle client 12c以降 ・oo4oの提供が終了

解決方法

oracle client11g 32bit版をインストールしその後、oracle clientの「Admin」フォルダ内に「tnsnames.ora」(各DBへの接続情報がまとまったファイル)を格納し、cmdを立ち上げ「tnsping ●●」※●●は自社で持っているDB名を記載
コマンド実行し、tnsnames.oraファイルまでのパスが通っている事を確認、その後自社アプリを実行すると問題なく立ち上げる事ができました。

WS000003.JPG

↑「oracle client 11gのsetup.exe」をクリック

WS000005.JPG
↑インストールタイプを選ぶ時は「管理者」を選択、※oracle clientに詳しい人はカスタムで必要なものだけを選択してインストールでも問題ないかと思います。

bakファイル.JPG

↑インストールが終わったら、DB接続情報が記載されている「tnsnames.ora」ファイルを格納

WS000007.JPG

↑インストール完了後はcmdを立ち上げ「tnsping ●●」※自社で設定しているデータベース名を入力

WS000008.JPG
↑特に問題なければ、上記画像のような表示になります。

その後、アプリを立ち上げると問題なく起動し、oracledbへ接続する処理に関しても問題なく行えました。

最後に

上記、DB接続が絡んだ場合はoracle clientのverとbit数に気を付けないといけないという事を知りました。
ただ、システム自体が古いので、今後はリプレイスを行いVBアプリを使用しない形にもっていきたいです。

17
4
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
4