忍者ブログ

Dicey grove ~先の見えない小さな森~

社内SEの奮闘記

   
カテゴリー「VB6」の記事一覧
  • « PREV
  •  | HOME | 
  • NEXT »

【Windows7】ORA-12560 TNS: プロトコル・アダプタ・エラーが発生 しました。

VB6で作成したシステムをWindows7で動かしたところログイン画面で

「ORA-12560  TNS: プロトコル・アダプタ・エラーが発生 しました。」

というエラーが発生してしまう端末がありました。


その端末とはうちの会社の敷地内に工場を構える協力企業さんに貸与しているパソコンで、
XPからWindows7に更新したところ発生するようになりました。

Windows7で必ず発生する訳ではなく社内では問題なく使えているのでかなり手間取りました。

原因はと言うと、Windows7でのセキュリティ強化にあります。(結果からの推測です)

システムのログインプログラムはサーバー上のDドライブに置いてあり、
サーバーのDドライブをパソコン上では「Z」ドライブとして割り当ててある状態で

Z:/aaa/bbb/ccc/Login.exe

だとします。

協力企業さんの使用するアカウントのフォルダへのアクセス権は「ccc」フォルダ以下にしか与えてありませんでした。

XPではルート上の「aaa」フォルダや「bbb」フォルダにアクセス権が無くても動いていましたが、
windows7ではこの辺りの制御が厳密になりエラーが発生したのだと思います。

回避策として「ccc」フォルダを隠し共有に設定し、パソコン側では共有フォルダ「ccc」を「Z」ドライブとして割り当てた状態で

Z:/Login.exe

を実行したところ「ORA-12560」を回避できました。


XPからWindows7への変更で「ORA-12560」が発生した場合、まずはアクセス権を確認して見てください。

【VB6】Format関数で「VB-6 オーバーフローしました。」が発生した

VB6で開発中に「VB-6 オーバーフローしました。」が発生。

分ってしまえば簡単な理由だった。


●「VB-6 オーバーフローしました。」が発生する例
Dim wk_Plnk As String
wk_Plnk = "20130318"
wk_Plnk  = Format(wk_Plnk,"YYYY/MM/DD")

●「VB-6 オーバーフローしました。」が発生しない例
Dim wk_Plnk As String
wk_Plnk = "3/18"
wk_Plnk  =Format(wk_Plnk,"YYYY/MM/DD")


Format関数は日付型と認識できないとダメで、8桁の文字列は日付型とは認識できないということか。
IsDate関数でTrueになる文字列であればFormat関数が利用可能だと思われる。

【VB6】Windows7 64bit 動作検証

VB6はWindows7 64bit マシン上で動くのか?

 

Windows XP 32bit マシンでコンパイルしたVB6のEXEは

Windows7 64bit マシン上で動作するのかを検証しました。

 

windows7 64bit マシンにOracle10gクライアント(64bit)をインストールして動作検証

→DB接続の箇所でエラーになる

 

CreateObjectが動作しない?

調べてみたところVB6はWindows7 64bit マシン上では

WOW64という仮想32bit環境(のようなもの)で動作するらしい。

結局32bitで動作するプログラムからDB接続することになるので

Oracle10gクライアント(32bit)でないと動作しない?

 

windows7 64bit マシンにOracle10gクライアント(32bit)をインストールして動作検証

→DB接続でエラーにならず!EXE実行可能!!

 

 

 

以下は今回の手順メモです。

参考にされる場合は自己責任でお願いします。

 

■Oracle10gクライアント入手

 

1.Oracle10gクライアント10.2.0.3/10.2.0.4入手

http://www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html

 

Oracle Database 10g Release 2 (10.2.0.3/10.2.0.4) for Microsoft Windows VistaおよびWindows 2008

  →10203_vista_w2k8_x86_production_client.zip (616,757,461 bytes)

 

 

2.Oracle10gクライアント10.2.0.5パッチセット入手

https://updates.oracle.com/download/8202632.html

 

→Microsoft Windows (32-bit)

 

 

■インストール

 

1.OUI(Oracle Universal Installer) を起動して 10.2.0.3/10.2.0.4 のインストールを行う。

OS 要件チェックおよびサービス・パック・チェックによるエラーは無視してインストールを行うために

以下のように -ignoreSysprereqs パラメータを付けて実行する。

 

setup.exe -ignoreSysprereqs

 

OUI の「製品固有の前提条件のチェック」画面ではチェックボックスにチェックを入れて

OS 要件チェックおよびサービス・パック・チェックによるエラーを無視してインストールを継続する。

 

2.10.2.0.5 のインストールを行う。


3.ODBCを設定する。

C:\Windows\SysWoW64\Odbcad32.exeを起動すると32bit版のODBC設定画面がが立ち上がる。

[コントロールパネル]-[管理ツール]-[データソース(ODBC)] は64bit版が立ち上がるので今回は使えない。

プロフィール

HN:
いちよん
性別:
男性
職業:
製造業社内SE
趣味:
パソコン、タブレットなどIT全般
自己紹介:
ITが大好きな社内SE歴8年のいちよんです。
社内SEをしていて自分が困ったことや便利だと思ったことを綴っていきます。
アフィリエイトを導入していますので気に障る方はご覧にならないことをお勧めします。
2012年に結婚しました。

カレンダー

09 2017/10 11
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

Amazonリンク

スポンサード リンク

慢性的な胃の不調、口臭対策にはエビオス!

PCなどの眼精疲労にはミホエーゴールド!

首の痛みにはボルタレンEXゲルをお試しください

どうしても頑張らなければいけないときに!

スポンサード リンク

忍者ブログ広告掲載

無料で使わせて頂いているので強制的に表示される忍者ブログの広告です。 体裁が崩れて不服ではあるのですがこちらに退避させて頂きます。
PR
Copyright ©  -- Dicey grove ~先の見えない小さな森~ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]