「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
詳細 †
Oracle XEをダウンロードしてインストール †
https://www.oracle.com/database/technologies/xe-downloads.html
http://www.oracle.com/technetwork/jp/database/database-technologies/express-edition/downloads/index.html
SQL Developerダウンロードしてインストール †
- SQL Developerダウンロードしてインストールする。
- システム要件を確認すると、JDK 1.8 以上、
Windows 10では、JDK 8u51 or higher が必要になる。
- 必要に応じて、以下から、JDK nunnをダウンロードしてインストールする。
- Java有償化の影響
OTNライセンスのJDKか?AdoptOpenJDKか?だが、
以下を見ると、OTNライセンスのJDKのみサポートと言う事らしい。
Oracleを起動してアプリケーションから使うまで。 †
Oracleを起動する。 †
「Start Menu」に「Start Database」が作成されているのでコレを押下する。
SQL Developerを起動して接続する。 †
接続を追加する。
- 接続名:任意
- ユーザー名:system
- パスワード:インストール時に入力したパスワード
- Oracle(既定値のままでイイ)
- 接続タイプ:基本
- ロール:デフォルト
- ホスト名:localhost
- ポート:1521
- SID:xe
SQLを発行する(DDLを発行してテーブルを作成する)。 †
- メニューの「SQLワークシート」押下して、作成した接続名を選択する。
若しくは、上記で開いた接続名(出指定した名称)タブのメニューから「非共有SQLワークシート」を選択。
- 開いた「SQLワークシート」タブにSQLを貼り付けてSQLを発行する(DDLを発行してテーブルを作成する)。
- 作成したテーブルに対してSQLを発行してデータが参照できるかどうか確認する。
Visual StudioからODP.NET Managed Driverを使用して接続・実行する。 †
- 新規作成 → プロジェクト → コンソールアプリケーションを作成する。
- NuGetからODP.NET Managed Driverを検索してインストールする。
- 以下のコードを記述してデバッグ実行するとレコード件数が返る。
(接続文字列のアカウントは、systemとインストール時に入力したパスワードなど環境に合わせて変更すること。)
using Oracle.ManagedDataAccess.Client;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
OracleConnection cn = new OracleConnection("User Id=system;Password=xxxx;Data Source=localhost/XE;");
cn.Open();
OracleCommand cmd = new OracleCommand("SELECT COUNT(*) FROM SHIPPERS", cn);
Console.WriteLine(cmd.ExecuteScalar().ToString());
Console.ReadKey();
}
}
}
SCOTT/tigerスキーマを作成する。 †
systemスキーマではクリーンナップなどが面倒なので、scott/tigerスキーマを作成する。
スキーマ作成用のDDLを取得 †
(utlsmtp.sqlと間違いやすいと思うので注意する。)
12c以降では、プラガブル・データベースを使用する必要がある。
スキーマ作成用のDDLを実行 †
スキーマ作成用のDDLをSQL Developerを使用して実行する。
スキーマに接続しテーブルを作成する。 †
スキーマをクリア(リセット)してテーブルを再作成する。 †
- CASCADE付きの「DROP USER」を行うことで、スキーマをクリア(リセット)できる。
注意:「SCOTT/tiger」への接続がある場合、「DROP USER」に失敗するので、
Oracleを再起動して、systemユーザーから"utlsampl.sql"を再実行する。
ORA-NNNNN †
ORA-28001: the password has expired. †
ORA-01109: database not open †
ORA-65049: creation of local user or role is not allowed in CDB$ROOT. †
12c以降ではプラガブル・データベースを使用する必要がある。
上記の手順でPDBを作成した後、utlsampl.sqlを使用して、SCOTT/tigerスキーマ作成する。
トラブルシューティング †
vendor code (17002) 発生、TNSListenerが起動していない。 †
ホスト名/IPアドレス変更 †
- oracleは、ホスト名/IPアドレス変更すると起動しなくなる。
- 開発環境なので、oracleのアンインストール・インストールを行った。
「ORACLE_HOME」環境変数 †
- 環境変数に「ORACLE_HOME」を追加すると、この現象が発生するらしい。
(丁度、Apache Jmeterの調査と動作確認で「ORACLE_HOME」環境変数を追加していた。)
- 必要に応じて、「ORACLE_HOME」環境変数を削除する。
参考 †
ODP.NET Managed Driver †
で、tnsnames.ora を参照する方法 †
が、サポートするOracleバージョン †
Oracleを利用予定ですが、Open棟梁で対応していないバージョン・エディションはある? - Google グループ
https://groups.google.com/forum/?hl=ja#!topic/opentouryoproject/iDxTplIdWVs
Express Editionのその後 †
12cで廃止と言われていたらしいが、18cで復活した模様。
12c †
18c †
Tags: :データアクセス, :ADO.NET