Database

Database

VBAで学ぶ!SQL Serverデータベース接続の基本

この記事では、ITに詳しくない方でも理解できるように、VBAを使ってSQL Serverデータベースに接続し、SELECT文でデータを取得する手順を詳しく解説します。SQL Serverデータベースの基礎から、接続に必要なソフトウェアのインストール、接続文字列の作成方法、そして実際のコード例までを順を追って説明します。VBAとデータベース...
Database

IT初心者でもできる!VBAでOracleデータベースに接続する方法【基礎編】

この記事では、ITに詳しくない方でも理解できるように、VBAを使ってOracleデータベースに接続し、SELECT文でデータを取得する手順を詳しく解説します。Oracleデータベースの基礎から、接続に必要なソフトウェアのインストール、接続文字列の作成方法、そして実際のコード例までを順を追って説明します。VBAとデータベースの連携は業務の効...
Database

Oracleで文字列を全角大文字に変換する(ひらがな・カタカナの小文字(捨て仮名)対応)

Oracleの文字列検索で全角半角、大文字小文字、ひらがなカタカナを区別しないであいまい検索する場合は比較対象の文字列形式を統一する必要があります。文字列形式を変換する方法はネットを調べれば多くの記事が出てきますが、ひらがな・カタカナの小文字(ぁぃぅぇぉっゃゅょゎァィゥェォッャュョァィゥェォッャュョ)まで変換している記事が無かったのでここ...
Database

[Oracle]Data Pumpを使用したデータベースのバックアップ

Data Pump機能のexpdp/impdpコマンドを使用するとデータベース全体、スキーマ単位、表単位など対象範囲を指定したバックアップやリストアを行うことができます。この記事ではバックアップの作成からバックアップファイルの世代管理方法を記載します。事前準備Data Pumpを実行する前に作業領域の作成と書込/読込権限を付与します。Cド...
Database

Oracle 11g XEへのデータ移行方法を検討してみる

Oracleのデータ移行時は移行元と移行先の文字コードに注意する必要があります。Windows環境のOracleでは「JA16SJIS」や「JA16SJISTILDE」が標準の文字コードであり、Oracle 11g Express Edition(XE)では「AL32UTF8」が標準の文字コードです。文字コードの違いは、sjisが1文字あ...
Database

Oracle12cのPDBを自動起動にする方法

Oracle12cのプラガブル・データベース(PDB)は初期設定のままでは、毎回、手動で起動させる必要があります。この記事ではOS起動時やOracle再起動時にPDBを自動起動にする方法を記載します。PDBの自動起動設定PDBの自動起動はOracle 12.1.0.2以降ではSQL文を使用して、12.1.0.1の環境ではトリガーを作成して...
Database

Oracle12cでユーザを作成する方法

SQLコマンドを使用したユーザ作成Oracle12cからマルチテナント・アーキテクチャが採用されており、以前までの手順ではユーザが作成できません。ここではPDBに接続してユーザを作成する方法を記載します。接続先の変更ユーザ作成時にコンテナ・データベース(CDB)からプラガブル・データベース(PDB)に接続先を変更する必要があります。最初に...
Database

[Oracle]ジョブをスケジューリングして定期実行する方法

DBMS_SCHEDULERパッケージを使用したジョブスケジューリングOracleでジョブを定期実行するには、DBMS_SCHEDULERパッケージやDBMS_JOBパッケージを使用してスケジューリングします。DBMS_SCHEDULERパッケージはOracle10g以降から使用可能なパッケージで、DBMS_JOBパッケージよりも詳細なス...
Database

ODP.NETをNuGetからインストールする

ODP.NETのインストール手順Oracle 12cから公式のODP.NETがNuGetに追加されました。この記事ではODP.NETをNuGetからインストールする手順を記載します。ODP.NET(Oracle Data Provider for .NET)とは.NETアプリケーションからOracleデータベースに接続する為のプロバイダで...
Database

[Oracle]インストールに失敗する原因と対処方法

Oracleインストールエラー時の確認事項OracleのデータベースやクライアントをWindowsへインストール中に インストーラが途中で落ちたり、エラーが発生する場合があります。インストールに失敗する場合の原因と対処方法を記載します。環境変数を確認する 環境変数「PATH」の変数名が全て大文字になっているか確認します。小文字が混じってい...
Database

[Oracle]トリガーの実行順序を設定する方法

FOLLOWS句を使用して実行順序を設定する1つの表に対して同レベル(タイミング)のトリガーを複数作成することはできますが、実行順序は保証されていません。実行順序に依存するようなトリガーを作成する場合は、FOLLOWS句を使用して実行順序を設定します。トリガーの作成方法については、過去記事を参照してください。トリガーの実行順序タイミングが...
Database

[SQL Server]IDENTITYの値を初期化する

ID値の初期化(リセット)方法IDENTITYプロパティを設定した列のID値を初期化(リセット)する方法を記載します。現在のID値を確認するID値を確認するには、DBCC CHECKIDENTコマンドにNORESEEDオプションを指定します。DBCC CHECKIDENT('TableName', NORESEED);現在のID値を初期化...
Database

[Oracle]データベースを再構築してOracle Expressのキャラクタセットを変更する

前回の記事でCSALTERを使用したキャラクタセットの変更方法を記載しましたが、サブセットのキャラクタセットからスーパセットへの変更のみ可能でした。この記事では、データベースを再構築するキャラクタセットの変更方法を記載していきます。データベースを再構築する方法では全てのキャラクタセットへ変更できます。キャラクタセットの変更手順Oracle...
Database

[Oracle]CSALTERを使用してOracle Expressのキャラクタセットを変更する

Oracle Expressでは標準のキャラクタセットとしてAL32UTF8が設定されます。キャラクタセットを意識しないでデータベースの移行やデータベース間のデータ連携をすると文字コード関連のエラーが多発する場合があります。原因としては、キャラクタセットによりマルチバイト文字のバイト数が異なる為です。例えば、JA16SJIS(SJIS)は...
Database

[Oracle]データベーストリガーの作成方法

DMLトリガーを作成するデータベーストリガーの中でももっとも一般的なDMLトリガーの作成方法と簡単な使用方法を記載していきます。トリガーとは?トリガーとはあるイベントが発生した場合に自動的に実行されるプロシージャです。下記のイベント発生時にトリガーを起動させることができます。 DML(DELETE, INSERT, UPDATE) DDL...
Database

[Oracle]OracleからWebサービスを利用する方法

SOAPリクエストを送信してレスポンスを表示する前回はOracleからWebサイトにアクセスする方法を記載しましたが、今回はOracleからSOAP形式のWebサービスを利用する方法を記載します。ACL設定まではWebサイトにアクセスする方法と同じですので、前回の記事を参考にしてください。SOAPメッセージの作成 SOAPリクエストを送信...
Database

[Oracle]WEBサイトやWEB APIをOracleから呼び出す方法

WEBリクエストを送信してレスポンスを表示するOracleからWEBサイトやWEB APIなどのネットワークサービスを呼び出すには、UTL_HTTPパッケージを使用します。今回は、UTL_HTTPパッケージを使用して、WEBサイトからのレスポンスを表示する方法を記載します。環境Oracle Express Edition 11g R2UT...
Database

[SQL Server]再帰SQLで集計する

WITH(共通テーブル式)を使って集計するWITH句とは共通テーブル式 (CTE) は、単一の SELECT、INSERT、UPDATE、DELETE、CREATE VIEW の各ステートメントの実行スコープ内で定義される一時結果セットと考えることができます。CTE は、オブジェクトとして格納されず、クエリが実行されている間しか保持されな...
Database

[SQL Server]クロス集計の方法

PIVOTを使ってクロス集計するSQL ServerでExcelのピボットテーブルのようなクロス集計をするには、PIVOT関係演算子を使って集計することができます。PIVOT関係演算子とは?関係演算子 PIVOT および UNPIVOT を使用すると、テーブル値式を別のテーブルに変更できます。PIVOT 関係演算子は、テーブル値式の中のあ...
Database

[SQL Server]データを期間別に集計する

SQL Serverで集計表を出力日付をDATETIME型で管理している場合、CONVERT関数、DATEPART関数を使って、日、週、月、年別の集計結果を出力することができます。 icon-chevron-right 週別の集計は日曜はじまりなので注意する集計方法日次集計-- 日次(CONVERT)SELECT CONVERT(VARC...