おすすめ本

最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

AccRanking

Ad

カテゴリ「Oracle」の12件の記事 Feed

2016年2月29日 (月)

CSEからORACLEへの接続

前回では、CSEから「PostgreSQL」に接続する方法を載せましたが、今回はオラクルへの接続についてです。

CSEでオラクルのデータベースに接続するには、「ociw32.dll」というDLLが必要な様です。 この「ociw32.dll」は通常このDLLはOracleホームディレクトリ以下のbinディレクトリに格納されています。

今回の接続テストは、同一PC上でオラクルとCSEをインストトールし行いました。 OSはWindows7で、オラクルは「Oracle Database 11g Express Edition」をインストールしました。 そこで、環境変数の「ORACLE_HOME」を設定されていることを確認します。
「Oracle Database 11g Express Edition」は、デフォルトでインストールすれば 「ORACLE_HOME」の値は「C:\oraclexe\app\oracle\product\11.2.0\server」になっているはずです。
それとPATHが通っていることを確認します。 「C:\oraclexe\app\oracle\product\11.2.0\server\bin;」が、 環境変数の「Path」に設定されていることを確認します。 (このパスは「ociw32.dll」が存在するフォルダです)

では実際にオラクルへの接続を行います。 下図はCSEからの接続時の様子です。 テストユーザとして「TEST」での接続を行います。 尚、このユーザは既にパスワードを「TEST」とし、「DBA」権限を与えてあります。 接続文字列として「localhost:1251/xe」を指定します。

接続文字列は host[:port][/service_name]です。
・host:接続先サーバのIPアドレス(今回は同一PC上なので「localhost」)
・port:ポート番号(デフォルト:1521)
・service_name:接続先のデータベース・サービスの名前です。Oracle Database XEのサービス名はXEです

Cse1

接続後は以下の表示になります。

Cse2

実際にSQLの実行を行ってみます。
システム時刻の取得を行いました。

Cse3

■関連記事
CSEからPostgreSQLへの接続
CSEの使い方、PostgreSQLテーブル作成とコンソールのグリッドからのデータ入力
CSEを使用してPostgreSQLテーブルの内容をCSVデータ出力(エキスポート)
CSEを使用したPostgreSQLのテーブルにCSVデータ入力(インポート)
スッキリわかるSQL入門 ドリル215問付き! スッキリわかるシリーズ



中古パソコン 【Windows7】 [T14B] 東芝 dynabook R731/B Core i5 2520M 2.5GHz 2GB 250GB 13.3ワイド DVD Multi Win7 Pro 【中古ノートパソコン】【ノートパソコン】【PC】【アウトレット】【中古】【1ヶ月保証】【RCP】【おすすめ】

価格: 20,800円
(2016/11/24 11:18時点 )

感想:1件

楽天市場

2015年3月27日 (金)

ORA-28001 the password has expired でユーザに接続不可

久々にOracleを動かそうとして、Oracle SQL Developerを起動し、データベースに接続すると接続エラーが発生しました。

エラーメッセージはORA-28001 the password has expired.

どうもパスワードの期限が切れているようです。
調べてみるとOracle11gではデフォルトでユーザのパスワードの期限が180日になっているそうです。

テストで動かすだけなので、SYSユーザでログインして、ユーザのパスワードを以下のコマンドで変更しました。

alter user 「USERNAME」 identified by 「PASSWORD」

その後、以下のコマンドでロックを解除します。

alter user 「USERNAME」 account unlock;

これで、接続できるようになりました。


ただ「SQL*Plus」での接続では以下の図のようにエラーが表示されますが、
その後、新規パスワードの入力が促され、そこでパスワードを入力しなおせば再度接続されます。

SIDとしてはテスト用のDB「test」で、ユーザもテスト用のID/PASSを「test/test」して行いました。
オラクルサーバーへの接続文字列としては、@マーク以下「//192.168.1.207/」を頭に付けてローカルなLANのサーバマシンのIPを特定しています。

Pass

 

■関連記事
Oracleファンクションのソースを表示する方法について・覚え書き
Oracleでのログインエラーでアカウントがロックされた場合の、強制ログインを使った対処方法
OracleでのPostgreSQLの「generate_series」(連続値の生成関数)的な使い方(LEVEL疑似列)
ORA-28002: the password will expire within 7 days がログイン時に発生
ORA-28001 the password has expired でユーザに接続不可