最近、Oracle10gのデータベースをOracle11gに移行した時に不具合が発生しました。
Oracle11gへのデータベース移行は問題無かったのですが、クライアント側のVisualBasic.NETのプログラムを動作させると
Oracleへのログインができない状況でした。
データベース移行に当たって、10gと同じユーザを作成して行ったのですが、 なぜかVB.NETのプログラムでそのユーザでの11gへのログインが不可なのです。 データベースのユーザへのログインはSQLPlus等でログインを確認したのですが、 VB.NETのプログラムでのログインNGがよくわかりませんでした。
その後、調べてみると、Oracle11gからはユーザのパスワードが大文字、小文字を区別することが分かりました。 SQLPlusでその様子を調べてみると、以下の様になっていました。
システムパラメータの sec_case_sensitive_logon の値が TRUE は大文字、小文字を区別する設定です。
この値を以下の様に FALSE にすれば、パスワードがOracle10gの時と同様の扱いになる様です。 結果は以下の表示になります。
この設定より、VB.NETのプログラムでのログインが出来る様になりました。 Oracle10gとは古いとお思いでしょうが、まだまだ10gで動いているところもあります。 データベースの移行での一助になれば幸いです。
■関連記事
⇒【Oracle】Oracle10gからOracle11gへの移行でユーザログイン不可について
⇒【Oracle SQL】SUBSTR関数でVBのRight、Left関数の様な使い方
⇒【Oracle SQL】テーブルから1行のみのデータを取得する方法
⇒【Oracle SQL】INSERTを連続で行う場合の方法
データベース移行に当たって、10gと同じユーザを作成して行ったのですが、 なぜかVB.NETのプログラムでそのユーザでの11gへのログインが不可なのです。 データベースのユーザへのログインはSQLPlus等でログインを確認したのですが、 VB.NETのプログラムでのログインNGがよくわかりませんでした。
その後、調べてみると、Oracle11gからはユーザのパスワードが大文字、小文字を区別することが分かりました。 SQLPlusでその様子を調べてみると、以下の様になっていました。
システムパラメータの sec_case_sensitive_logon の値が TRUE は大文字、小文字を区別する設定です。
この値を以下の様に FALSE にすれば、パスワードがOracle10gの時と同様の扱いになる様です。 結果は以下の表示になります。
この設定より、VB.NETのプログラムでのログインが出来る様になりました。 Oracle10gとは古いとお思いでしょうが、まだまだ10gで動いているところもあります。 データベースの移行での一助になれば幸いです。
■関連記事
⇒【Oracle】Oracle10gからOracle11gへの移行でユーザログイン不可について
⇒【Oracle SQL】SUBSTR関数でVBのRight、Left関数の様な使い方
⇒【Oracle SQL】テーブルから1行のみのデータを取得する方法
⇒【Oracle SQL】INSERTを連続で行う場合の方法