データ ソース名を割り当て、ODBC 接続を確立するために必要な情報をすべて設 定します。 データベースへの接続を確立する CFML タグのいずれかにおいて、 データ ソース名を使用します。 この手法によって、ColdFusion Server のデータ ベース接続に関するすべての情報が、1 つの管理しやすい場所に格納されます。
この方法を使うと、データ ソースにダイナミックにアクセスできます。 したがっ て、ユーザのサーバ内の個々のデータベースについてデータ ソースをいちいち追 加する必要がありません。 また、ColdFusion アプリケーションを複数のサーバ上 で実行させることができ、各サーバについて個々にスタティックな設定を行う必 要がありません。
ColdFusion Administrator で、データ ソースを追加します。
データ ソースを追加するとき、アプリケーション ページの cfquery
などのタグ内で参照してデータベースにクエリを実行できるように、データ ソースに名前を割り当てます。 データ ソースにより、クエリの実行時にどのデータベースに接続し、接続のためにどのパラメータを使うかが ColdFusion に指示されます。
次の手順によって、CompanyInfo データ ソースを追加できます。このデータ ソースは、このマニュアルの他の章の例でも頻繁に使用されます。
メモ このマニュアルの例で使われる CompanyInfo データベースおよび cfsnippets データ ベースは、既定で ColdFusion のインストール時に一緒にインストールされ、また既 存の ODBC データ ソースにも追加されます。 したがって、次の手順はこのマニュア ルの例として参照する場合には必要ありません。 |
Windows では、 [開始] > [プログラム] > [ColdFusion Server] > [ColdFusion
Administrator] を選択します。 UNIX では、ブラウザに hostname/CFIDE/
administrator
という URLを入力します。
インストール時に ColdFusion Server にパスワードが割り当てられている場合は、 パスワードを入力するためのプロンプトが表示されます。
CompanyInfo
と名前を付けます。 Windows では、company.mdb ファイルへのパス(通常は C:¥CFusion¥database¥Company.mdb)を指定します。UNIX では、CompanyInfo ディレクトリへのパス(通常は /opt/coldfusion/database/CompanyInfo)を指定し ます。
CompanyInfo
データ ソースを作成します。 データ ソースがデータ ソース リストに追加されます。
CompanyInfo
を選択します。 データ ソースが正しく作成されていれば、次のメッセージが表示されます。
データソースへの接続の確認が完了しました。
データ ソースの管理の詳細は、『ColdFusion 上級管理ガイド』を参照してください。
ColdFusion Administrator で設定された ODBC への接続情報は、ダイナミックに更新することができます。 また、Administrator では設定されない接続属性を指定することもできます。 この指定は、データベースへの接続を行う cfquery
、cfinsert
、cfupdate
、cfgridupdate
、cfstoredproc
のうちいずれかの CFML タグにおいて connectstring
属性を使用して行います。
たとえば、次のコードのように、接続文字列を使ってアプリケーションとワーク ステーション ID を指定し、定義済みの Microsoft SQL Server のデータ ソースへの接続を設定できます。
<cfupdate datasource = "mssql"
connectstring = "APP=ColdFusion;WSID=fenway" tablename = "department">
メモ 接続文字列のプロパティは、接続先のデータベースによって異なります。 各データ ベースの接続文字列のプロパティについては、それぞれのマニュアルを参照してくだ さい。 |
ColdFusion Server にデータ ソースを追加する際は、次のガイドラインを守ってください。
データ ソースをダイナミックに指定するには、次の属性を cfquery
タグで使用します。
dbtype = "dynamic"
connectstring
属性では、ODBC ドライバやデータベースの場所など、必要な ODBC 接続情報をすべて指定できます。 たとえば、次のようなコードによって、ローカルの Microsoft SQL Server 上で pubs データベースをダイナミックに指定するクエリを作成できます。
<cfquery name = "datelist"
dbtype = "dynamic"
blockfactor = 100
connectstring = "DRIVER={SQLSERVER};SERVER=(local);UID=sa;PWD=;
DATABASE=pubs">
SELECT * FROM authors
</cfquery>
次の例では、Microsoft Access のデータベースを使用しています。
<cfquery name="titles"
dbtype = "dynamic"
ConnectString="DRIVER=Microsoft Access Driver (*.mdb);
DBQ=C:¥CFusion¥Database¥cfsnippets.mdb;DriverId=281;
FIL=MS Access;MaxBufferSize=2048;PageTimeout=5">
SELECT * FROM Courses
</cfquery>