前回は、鈴木一郎君がTechNet OnlineのSQL Server TechCenterにアクセスして、まずSQL Serverの製品概要について把握するところまでを取り上げた。

これが勝手知ったるAccessならば、データを保存するテーブルだけでなく、クエリー、フォーム、マクロなどといった関連機能がワンセットになっている。だから、手元でひとわたりの機能を試すことができるし、データベースを利用するアプリケーションの開発も(比較的)容易にできる。

ところが、データベースの入れ物に徹しているSQL Serverの場合、そこにアクセスするアプリケーションを開発しなければならない場合が多い。さて、どうする?

データベースにアクセスする方法って何がある?

アプリケーションとデータベースが別々になっていて、アプリケーションからデータベースにアクセスしてデータを格納したり、検索して取り出したりするには、いわゆるデータベースアクセスの機能が必要になる。過去の歴史的行きがかりから、マイクロソフトではさまざまな種類のデータベースアクセス手段を提供してきている。

データベースを利用するアプリケーションを開発する需要は大きい。そしてデータアクセスの手段がいろいろあることから、マイクロソフトのWebサイトでは、TechNet Online以外にもいろいろと、関連する情報を提供しているサイトがある。本連載の本題であるTechNet Onlineからは外れてしまうのだが、関連記事ということで紹介しよう。

まず、開発者向け情報の総本山になりそうなのが、「開発者の方向け SQL Server 2008 イエロー ページ」だ。ここをポータル代わりにして、関連する情報を捜してみるのもよさそうだ。

MSDN Onlineに用意されている、開発者向けイエローページ。ここを窓口にして、必要な情報を捜してみよう

過去には、アプリケーションからデータベースにアクセスする手段としてADO(ActiveX Data Objects)が多く用いられていた。これは筆者も使ったことがあり、IIS(Internet Information Services)で動作するASP(Active Server Pages)、あるいはMicrosoft Office製品のVBAマクロからデータベースにアクセスできる。データベースの種類が変わっても同じ手順でデータベースにアクセスでき、対象となるデータベースを指定する部分を書き換えるだけで済む(もちろん、テーブルや項目の名前が揃っていることが前提だが)。

しかし、.NET Frameworkの利用が一般化した昨今では、ADOの後継となるADO.NETの利用を考えるべきだろう。もちろん、ADO.NETに関する技術情報はちゃんと提供されている。

(参照)
ADO.NET DataServices

また、SQL Serverのようなリレーショナルデータベースだけでなく、.NETオブジェクトやXML文書など、さまざまな種類のデータに対して共通のクエリを利用してアクセスする、LINQ(Microsoft 統合言語クエリ)というものもある。

(参照)
ADO.NET Entity Framework

最近では、特に業務用のアプリケーションになるとWebベースにすることが多い。さらに、Windows Azureの登場によりクラウド環境という選択肢も加わってきた。こうした環境におけるデータベースアクセスについて鈴木一郎君がいろいろ調べ回ってみたところ、ADO.NET Data Servicesフレームワークというものがあることが分かった。

このADO.NET Data Servicesフレームワークでは、URI(Uniform Resource Identifier)によってデータを指示して、GET、POST、DELETEなどのHTTP動詞によってデータを操作するらしい。いろいろなことを考えるものだ。

ちなみに、SQL Serverネイティブのクライアントに加えて、PHPJDBC(Java Database Connectivity )からSQL Serverにアクセスするための手段も提供されている。開発、あるいは運用環境の関係でこうしたテクノロジーを用いる場合には、役に立ちそうな情報だ。

開発のための資料を捜せ!

このほか、SQL Serverを利用するアプリケーションの開発、あるいはデータベースアクセス全般について、MSDN Onlineでは開発者向けの資料がいろいろまとめられている。このうち「SQL Serverデベロッパーセンター」は、TechNet OnlineのSQL Server TechCenterからリンクが張られているので、真っ先にアクセスしそうな場所だ。TechNetのつもりでいたら、いつの間にかMSDNに移動してしまう格好になるのだが。

(参照)
データアクセスデベロッパーセンター
データアクセスとストレージ

これらのコンテンツを利用すると、現在主流になっているテクノロジーだけでなく、ADO、ODBC(Microsoft Open Database Connectivity)、Microsoft Universal Data Access、MDAC(Microsoft Data Access Components)、OLE DB、MSDE(Microsoft Data Engine)といったテクノロジーについての情報も得られる。新規開発の際にはお呼びでなくても、過去に開発されたデータベースアプリケーションを保守する、あるいは新しいテクノロジーに切り替える際には、こうした情報に出番があるかも知れない。

SQL Serverデベロッパーセンター。MSDNのコンテンツで、開発者向けの情報をまとめている

データアクセスデベロッパーセンター(データプラットフォームデベロッパーセンター)。データベースへのアクセスに特化して、開発者向けの情報をまとめている