DBプログラミング入門 by ODP.NET
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
image
pptx
sequence
src
.gitignore
README.md

README.md

DBプログラミング入門 by ODP.NET

はじめに

本文書はリレーショナルデータベースシステム(以下単にDB)アクセスを行うアプリケーションを作成するために、どのようにプログラミングすればよいかを身につけることを目的としています。対象DBはOracle Database、プラットフォームは.NETで言語はC#を用います。

本書では最も基本的なADO.NETのデータプロバイダーを用いたデータアクセスを対象とし、DataSetやTableAdapterを用いた非接続型アクセス、Entity Frameworkは対象外とします。

想定する読者

  • C#を使った基本的なプログラミングが行える
  • RDBMSの基本的な知識(DDL、DML等のSQL、トランザクション制御など)を理解している

本文書のゴール

  • アプリケーションからDBへアクセスする際の、基本的な概念を理解する
  • CRUD操作を行うSQLが発行できる
  • SQLインジェクション脆弱性を排除するために、パラメーターを利用したコマンド発行ができる
  • データプロバイダーの構成を理解し、適切に後処理が出来る
  • DBアクセスに伴う例外処理が行える

本文書の開発環境

  • Windows 10 Pro 64bit
  • Visual Studio 2017 Community
  • Oracle Database 12c Release 1

目次

  1. 2つの世界
    まずはプログラムからDBにアクセスするというnはどういうことなのか、概念を理解していきましょう。
  2. データ プロバイダー
    .NET Frameworkから世界をまたいでDBにアクセスするために必要なデータ プロバイダーの基本を学びましょう。
  3. DBに接続する
    プログラムからDBに接続する手順について学びましょう。
  4. 単純な問い合わせ
    最も基本的なSELECT文を実行する手順について学びましょう。
  5. スカラー値の取得
    数量、件数と行った単一のスカラー値を取得する手順について学びましょう。
  6. 非問い合わせ
    UPDATE、INSERT、DELETEといった非問い合わせSQL文を実行する手順について学びましょう。
  7. パラメーターの利用
    パラメーターを用いたSQL文を実行する手順について学びましょう。
  8. ストアド・プロシージャ
    ストアド・プロシージャを呼び出す手順について学びましょう。
  9. トランザクション管理
    DBアクセス時のトランザクションを管理する方法について学びましょう。
  10. 例外処理
    DBアクセスに伴う例外処理について学びましょう。
  11. O/Rマッパーの利用
    SQL実行処理の煩雑さを緩和してくれる、O/Rマッパーの使い方を学びましょう。

サンプルについて

各章のサンプルコードは、srcフォルダーの下にある章番号フォルダーの中にあります。リポジトリをクローンするか、zipファイル等でダウンロードして展開後、Visual Studioでソリューションを開いて内容を確認してください。

実行子する際は、各プロジェクト内のApp.configファイルの以下の部分のHOSTPORTSERVICE_NAME等を、各自の環境に合わせて変更してください。

  <!-- (4) -->
  <oracle.manageddataaccess.client>
    <version number="*">
      <dataSources>
        <!-- (5) -->
        <dataSource alias="ORCL"
          descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) "/>
      </dataSources>
    </version>
  </oracle.manageddataaccess.client>

また、本サンプルはOracle Databaseのサンプル・スキーマ「SCOTT」を前提にしています。Oracle Database 12c Release 1であれば、インストール時に「システム・クラス」で「サーバー・クラス」を選び、その後「構成オプションの指定」でサンプルスキーマを作成するよう指定してください。

サンプル・スキーマのインストール

参考資料

ライセンス

クリエイティブ・コモンズ・ライセンス

この 作品 は クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンス の下に提供されています。