ODBCの設定をしてみたんだけどかなり最初っから詰まったので、まとめておきます。
併せてADO.netを使用しての情報なんかもまとめてみたいと思います。
一回使うとかなり楽ちんでかなり楽しいよ!
というか・・・、そもそもODBCってなによ?
参考:IT用語辞典
ODBCとは、アプリケーションソフトがデータベース管理システム(DBMS)などに接続し、データの取得や書き込み、操作などを行う方法の標準を定めたもの。Microsoft社が制定したもので、主に同社のWindowsで動作するデータベース関連ソフトウェアで用いられる。
うーん、わかりにくいですね。
「アクセス対象のデータベースが、どういうものでも統一規格でアクセスできるミドルウェア」
なんていう解釈でいいのかなって思っています。
なんとなくわかったところで、設定をしてみましょう。
さて、実行環境からですが、Windows Server 2012 を使用します。
まず追加で、一つソフトウェアをインストールしましょう。
Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント から
AccessDatabaseEngine_X64.exeをダウンロードしましょう!
ダウンロードしたAccessDatabaseEngine_X64.exeを実行します。
次へ(N)
認証して、次へ(N)
適当なところを選んでインストールしましょう
インストールできましたね。
それでは、ODBC接続の設定をします。
今回は接続先のデータベースをExcelファイルにしてみます。
ODBCデータソースアドミニストレータ(64ビット)を起動します。
システムDSNタブを開いて、追加(D)
Microsoft Excel Driver(*.xls,*.xlsx,*.xlsm,*.xlsb)を選んで、完了
データソース名を適当に決めて、入力(今回はDATABASE1にしました)し、
書き込みをするなら、「読み取り専用(L)」のチェックを外します。
ブックの選択(S)をクリック。
データベースを選びます。
(今回は、「C:\DB」に「Database.xlsx」を置いたので、それを選びます。)
Database.xlsxの中身は以下のようなexcelファイルです。
DATABASE1 の設定ができました。
ここまでで設定できました。
これだけでOKです。簡単でしょ?
動くか確認したいので、簡単なASPXサイトを作ってみましょう。!
(今回はIISの設定は割愛します。後日その辺説明できるといいなぁ。)
サンプルコード
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ASPSite01.aspx.cs" Inherits="ASPSite01" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>ASPSite01</title>
</head>
<body>
<%
//テーブル作成
using (System.Data.Odbc.OdbcConnection OdbcCon = new System.Data.Odbc.OdbcConnection())
{
//システムデータソースの名前を指定
OdbcCon.ConnectionString = @"Dsn=DATABASE1;";
//ODBCコネクションをオープン
OdbcCon.Open();
//SQLコマンド文字列作成
System.Data.Odbc.OdbcCommand OdbcCom = OdbcCon.CreateCommand();
OdbcCom.CommandText = "SELECT * FROM [Sheet1$] ";
//SQLコマンドの実行
System.Data.Odbc.OdbcDataReader OdbcRea = OdbcCom.ExecuteReader();
//データ行作成開始
while (OdbcRea.Read())
{
string tempstring = "";
//列数分ループさせる
for (int i = 0; i < OdbcRea.FieldCount; i++)
{
tempstring += OdbcRea[i]+" , ";
}
//一列出力
Response.Write(tempstring + "<br />");
}
//ODBCコネクション切断
OdbcCon.Close();
}
%>
</body>
</html>
上のコードを書いたASPsite01というページを作成しました。
こちらにブラウザでアクセスすると、下のように表示されます。
とりあえずこれでODBCを使用してデータベースに接続するWebページが作成できました。
これをtableタグで囲んだりするともっと見栄えがしてくると思います。
結構かんたんじゃん!って思われたかもしれませんね。
参考になれば幸いです。
以上!
0 件のコメント:
コメントを投稿