Symfoware/RDBのデータベースに接続し、データを参照する以下のアプリケーションの作成方法について説明します。
ASPアプリケーション
ASP.NETアプリケーション
ASPは、既存のHTMLファイルの拡張子の“.htm”または“.html”を“.asp”に変えるだけで簡単に作成できます。ファイルの拡張子が“.asp”のファイルはテキストファイルであり、テキストエディタを使って、以下の要素を自由に記述することができます。
テキスト
HTMLタグ
スクリプトコマンド
ASPのスクリプトコマンドは、区切り記号によってテキストやHTMLタグと区別されます。ASPでは、スクリプトコマンドを囲む区切り記号として“<%”と“%>”を使います。
ASPのスクリプトコマンド、またはADOのAPIの詳細については、米国Microsoft社のMSDNライブラリのホームページを参照してください。
以下に、ASPアプリケーションの例を示します。
以下のサンプルコードを“Samp.asp”というファイル名で作成し、“環境設定”で定義したWebサーバのフォルダに格納します。
サンプルコード中のconstr変数に設定する接続文字列と、sqlstr変数に設定するSQL文は実行環境に合わせて変更してください。
<%@ language="vbscript" %>
<!-- #include file = "adovbs.inc" -->
<html>
<head>
<title>データの参照</title>
</head>
<body bgcolor="White">
<b>データの参照</b>
<hr>
<%
consrc = "DSN=DSN01;UID=USER01;PWD=PASS01"
sqlsrc = "SELECT KEY_C,DEC_C FROM SAMPLE1.TESTTBL"
' エラーを取得するためエラー発生時に処理を止めないようにする
On Error Resume Next
'0. Connectionオブジェクトの生成と設定
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.ConnectionString = consrc
Response.Write "1.コネクション接続<br>"
OBJdbConnection.Open
'エラー処理
If OBJdbConnection.Errors.Count > 0 Then
Response.Write "Description = " & _
OBJdbConnection.Errors(0).Description & "<br>"
Response.Write "NativeError = " & _
OBJdbConnection.Errors(0).NativeError & "<br>"
Response.Write "Number = " & _
OBJdbConnection.Errors(0).Number & "<br>"
Response.Write "Source = " & _
OBJdbConnection.Errors(0).Source & "<br>"
Response.Write "SQLState = " & _
OBJdbConnection.Errors(0).SQLState & "<br>"
End If
Response.Write "2.Recordsetオブジェクトの生成<br>"
Set RecordSetObj = Server.CreateObject("ADODB.Recordset")
Response.Write "3.Recordsetオブジェクトを開く<br>"
RecordSetObj.Open sqlsrc,OBJdbConnection,adOpenForwardOnly, _
adLockReadOnly,adCmdText
'エラー処理
If OBJdbConnection.Errors.Count > 0 Then
Response.Write "Description = " & _
OBJdbConnection.Errors(0).Description & "<br>"
Response.Write "NativeError = " & _
OBJdbConnection.Errors(0).NativeError & "<br>"
Response.Write "Number = " & _
OBJdbConnection.Errors(0).Number & "<br>"
Response.Write "Source = " & _
OBJdbConnection.Errors(0).Source & "<br>"
Response.Write "SQLState = " & _
OBJdbConnection.Errors(0).SQLState & "<br>"
Else
Response.Write "4.データの取得(最終行まで繰り返し)<br>"
Response.Write "KEY_C,DEC_C<br>"
Do While Not RecordSetObj.EOF
For i = 0 To RecordSetObj.Fields.Count - 1
'データの取得
Response.Write CStr(RecordSetObj.Fields(i)) + ","
Next
Response.Write "<br>"
RecordSetObj.MoveNext
Loop
End If
Response.Write "5.Recordsetオブジェクトを閉じる<br>"
RecordSetObj.Close()
Response.Write "6.コネクション切断<br>"
OBJdbConnection.Close
%>
<hr>
</body>
</html>ブラウザのアドレスにASPファイル(拡張子“.asp”のファイル)を格納したURLを指定すると実行できます。
http://Webサーバ名/ASPSamp/Samp.asp
実行結果は以下のようになります。

Symfoware/RDBのデータベースに接続するWebアプリケーションを例にして、Visual Basic .NETによるWebアプリケーションの作成方法を説明します。
なお、以下の手順はVisual Studio 2017を使用しています。
Visual Studioを起動します。
新しいプロジェクトを作成します。[新しいプロジェクト]画面で、[Visual Basic]を選択し、テンプレートから[ASP.NET Webアプリケーション]を選択します。[名前]に、プロジェクト名(任意 例:TestWebApl)、[場所]に、“環境設定”で作成したエイリアス(例:ASPSamp)がある物理パスを指定し、[OK]ボタンをクリックします。

Webフォームを選択し、[OK]ボタンをクリックします。

Visual Studioのメニューから、[プロジェクト]-[参照の追加]を選択します。[参照マネージャー]画面が表示されたら、[アセンブリ]タブを選択し、フレームワークの一覧から[System.Data]を選択して[OK]ボタンをクリックします。

注意
ADOの場合、[COM]タブを選択し[Microsoft ActiveX Data Objects 2.7 Library]を選択します。
Webフォームを編集します。Webフォームにボタンコントロール、ラベルコントロールおよびHorizontal Ruleを貼り付け、以下のようなWebフォームを作成します。ボタンコントロールのTextプロパティを、「実行」と設定します。ラベルコントロールのTextプロパティを空文字列に設定します。

以下に上記デザインのHTMLソースのbodyタグ内を示します。
<body>
<form id="form1" runat="server">
<p>
<asp:Button ID="Button1" runat="server" Height="75px" Text="実行" Width="210px" OnClick="Button1_Click" />
</p>
<p>
</p>
<hr />
<asp:Label ID="Label1" runat="server"></asp:Label>
</form>
<hr />
</body>Webフォーム上の[実行]ボタンをダブルクリックしてカーソルが移動した場所に、以下のサンプルコードを入力します。サンプルコード中のconstr変数に設定する接続文字列と、sqlstr変数に設定するSQL文は実行環境に合わせて変更してください。
Dim con As Microsoft.Data.Odbc.OdbcConnection
Dim com As Microsoft.Data.Odbc.OdbcCommand
Dim drd As Microsoft.Data.Odbc.OdbcDataReader
Dim i As Integer
Dim msgstr As String
Dim constr As String = "DSN=DSN01;UID=USER01;PWD=PASS01"
Dim sqlstr As String = "SELECT KEY_C,DEC_C FROM SAMPLE1.TESTTBL"
Try
Label1.Text = "1. コネクション接続<br>"
con = New Microsoft.Data.Odbc.OdbcConnection(constr)
con.Open()
Label1.Text &= "2. OdbcCommandオブジェクトの生成<br>"
com = New Microsoft.Data.Odbc.OdbcCommand(sqlstr, con)
Label1.Text &= "3. OdbcDataReaderオブジェクトの生成<br>"
drd = com.ExecuteReader
Label1.Text &= "4. データの取得(最終行まで繰り返し)<br>"
Label1.Text &= "KEY_C,DEC_C<br>"
While drd.Read()
For i = 0 To drd.FieldCount - 1
Label1.Text &= drd.GetValue(i) & ","
Next
Label1.Text &= "<br>"
End While
Label1.Text &= "5. OdbcDataReaderオブジェクトを閉じる<br>"
drd.Close()
Label1.Text &= "6. コネクション切断<br>"
con.Close()
con.Dispose()
com.Dispose()
'Error処理
Catch ex As Microsoft.Data.Odbc.OdbcException
For i = 0 To ex.Errors.Count - 1
msgstr &= ex.Errors(i).Message & "<br>"
msgstr &= "SQLSTATE: " & ex.Errors(i).SQLState & "<br>"
Next
Label1.Text = "ODBC Error Message<br>" & msgstr
Catch ex As Exception
msgstr = ex.Message
Label1.Text = "Error Message<br>" & msgstr
End TryVisual Studioのメニューの、[デバッグ]-[開始]で実行します。
また、メニューの[ビルド]-[TestWebAplのビルド]でWebアプリケーションをビルドします。プロジェクト内の TestWebApl\Scripts\WebForm1.aspx をコピーして、“環境設定”で作成したエイリアス (例:ASPSamp)配下に置きます。ブラウザのアドレスに以下のURLを指定してください。
http://Webサーバ名/ASPSamp/TestWebApl/WebForm1.aspx
[実行]ボタンをクリックすると、Symfoware/RDBのデータベースに接続し、結果を表示します。

開発用のサーバと実行用のサーバが違う場合には、以下の方法で作成したプロジェクトを実行用のサーバに配置します。
Visual Studioのメニューから[プロジェクト]-[プロジェクトのコピー]を選択します。
[プロジェクトのコピー]ダイアログボックスの[ターゲット プロジェクトフォルダ]に、実行用のWebサーバ名とプロジェクトフォルダ名(任意 例:TestWebApl)を次の例のように入力します。
http:// Webサーバ名/TestWebApl
[コピー]の以下のいずれかを選択します。
このアプリケーションの実行に必要なファイルのみ
すべてのプロジェクトファイル
ソースプロジェクトフォルダのすべてのファイル
[OK]ボタンをクリックしてコピーを開始します。