マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

詳細

Oracle11gXEをダウンロードしてインストール

SQL Developerダウンロードしてインストール

  • SQL Developerダウンロードしてインストールする。
  • システム要件を確認すると、JDK 1.8 以上、
    Windows 10では、JDK 8u51 or higher が必要になる。
  • 必要に応じて、以下から、JDK nunnをダウンロードしてインストールする。

Oracleを起動してアプリケーションから使うまで。

Oracleを起動する。

「Start Menu」に「Start Database」が作成されているのでコレを押下する。

SQL Developerを起動して接続する。

接続を追加する。

  • 接続名:任意
  • ユーザー名:system
  • パスワード:インストール時に入力したパスワード
  • Oracle(既定値のままでイイ)
    • 接続タイプ:基本
    • ロール:デフォルト
    • ホスト名:localhost
    • ポート:1521
    • SID:xe

SQLを発行する(DDLを発行してテーブルを作成する)。

  • メニューの「SQLワークシート」押下して、作成した接続名を選択する。
    若しくは、上記で開いた接続名(出指定した名称)タブのメニューから「非共有SQLワークシート」を選択。
  • 作成したテーブルに対してSQLを発行してデータが参照できるかどうか確認する。
    作成したテーブルに対して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を取得

  • 「C:\oraclexe」がインストール・ディレクトリとして、
    以下にSCOTT/tigerスキーマ作成用のDDLを発見できた。
    "C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\utlsampl.sql"

(utlsmtp.sqlと間違いやすいと思うので注意する。)

  • 18cの場合は、以下にある。
    "C:\u01\app\product\18.0.0\dbhomeXE\rdbms\admin\utlsampl.sql"

スキーマ作成用のDDLを実行

スキーマ作成用のDDLをSQL Developerを使用して実行する。

スキーマに接続しテーブルを作成する。

スキーマをクリア(リセット)してテーブルを再作成する。

  • CASCADE付きの「DROP USER」を行うことで、スキーマをクリア(リセット)できる。
  • 前述の"utlsampl.sql"内では、冒頭で、下記のCASCADE付きの「DROP USER」が呼ばれているので、
    再実行すれば、これをクリア(リセット)できる。開発・テストの際に便利。
    DROP USER SCOTT CASCADE;
    DROP USER ADAMS CASCADE;
    DROP USER JONES CASCADE;
    DROP USER CLARK CASCADE;
    DROP USER BLAKE CASCADE;

注意:「SCOTT/tiger」への接続がある場合、「DROP USER」に失敗するので、
Oracleを再起動して、systemユーザーから"utlsampl.sql"を再実行する。

ORA-65049: creation of local user or role is not allowed in CDB$ROOT.

12c以降ではプラガブル・データベースを使用する必要がある。

上記の手順でPDBを作成した後、utlsampl.sqlを使用して、SCOTT/tigerスキーマ作成する。

ORA-NNNNN

ORA-28001: the password has expired.

  • 11gからデフォルトで、パスワードが180日期限切れになるらしい。
  • 開発・テスト用途であれば、無期限に指定しておいた方がイイかも。
    alter profile default limit password_life_time unlimited;

ORA-01109: database not open

トラブルシューティング

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


添付ファイル: file1.png 188件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-07-17 (水) 11:53:45 (1d)