久々にOracleネタですが、Oracleを動かそうとして、データベースに接続すると以下のエラーメッセージが表示されました。days.あと7日でパスワードの期限が切れますよというお知らせのようです。以下のコマンドで、ユーザのパスワードを変更しました。エラーが表示されない様になりました。(月)【Oracle】Oracle10gからOracle11gへの移行でユーザログイン不可について最近、Oracle10gのデータベースをOracle11gに移行した時に不具合が発生しました。Oracleへのログインができない状況でした。VB.NETのプログラムでそのユーザでの11gへのログインが不可なのです。VB.NETのプログラムでのログインNGがよくわかりませんでした。その後、調べてみると、Oracle11gからはユーザのパスワードが大文字、小文字を区別することが分かりました。SQLPlusでその様子を調べてみると、以下の様になっていました。大文字、小文字を区別する設定です。すれば、パスワードがOracle10gの時と同様の扱いになる様です。結果は以下の表示になります。システムが変更されました。FALSEこの設定より、VB.NETのプログラムでのログインが出来る様になりました。Oracle10gとは古いとお思いでしょうが、まだまだ10gで動いているところもあります。データベースの移行での一助になれば幸いです。(水)Oracleファンクションのソースを表示する方法について・覚え書きユーザが作成したOracleファンクションのソースを表示する方法ですが、最近使ったので覚え書きとして記します。実行ですが以下の様にします。表示させたいファンクション名にします。0にすることでファンクションのソースを区切りなく表示できます。SQL】SUBSTR関数でVBのRight、Left関数の様な使い方Oracleの関数には、VB.NETで用意されているRight関数やLeft関数が存在しません。文字列の抽出で、左から何桁とか、右から何桁とかを切り出す処理はよくあるものです。OracleではSUBSTR関数しかないので、これを使うしかありません。SUBSTR関数の引数は以下の様になっています。SUBSTRBは文字列をバイト単位での処理を行います。文字列に漢字等のマルチバイト文字が含まれている場合にはSUBSTRBは問題があります。文字コードがシフトJISの場合で例を示しますと以下の様になります。/SUBSTRは全角文字があっても、1文字は1文字として処理されます。3桁目には半角の空白が返ってきます。するしかないと思います。ところをマイナスにすると以下の様になります。文字列の最後からの処理になっているのが分かります。