自動生成可能なコードの範囲は、“3.2.2.1 コードの自動生成範囲”を参照してください。
なお、Symfoware .NET Data Providerのデータオブジェクト(SymfowareCommand、SymfowareCommandBuilder、SymfowareConnection、およびSymfowareDataAdapter)を使用して、データ操作を自動生成することはできません。
注意
1つのフォームに、Symfoware .NET Data Providerのデータ操作を自動生成する目的以外のODBCブリッジコードを、混在させないでください。
コードの自動生成の流れと詳細手順の参照先を、以下に示します。
手順 | 作業項目 | 説明 | 参照先 | |
---|---|---|---|---|
1 | プロジェクトの作成 | Visual Studioでアプリケーションのプロジェクトを作成します。 | Microsoft社のVisual Studioのマニュアル | |
2 | Symfoware .NET Data Providerのセットアップ | Visual StudioでSymfoware .NET Data Providerを使用できるようにします。 | ||
3 | ユーザインタフェースの作成 | アプリケーションのユーザインタフェースを作成します。 | Microsoft社のVisual Studioのマニュアル | |
4 | ODBCデータソースの登録とデータ接続の作成 | データアダプタ構成ウィザード使用時に、接続するデータベースの接続先を設定します。 | ||
5 | ODBCブリッジコードの生成 | ODBCブリッジコードを自動生成します。 | ||
6 | Symfoware .NET Data Providerのコードの生成 | SNDPコード生成ツールを使用して、自動生成したODBCブリッジコードからSymfoware .NET Data Providerのコードを生成します。 | ||
7 | アプリケーションロジックの作成 | アプリケーションロジックを作成します。 | ||
| 自動生成したコードの呼出し | 自動生成したコードをアプリケーションロジックで呼び出します。 | ||
コネクションの作成 | データベースの接続情報を追加します。 |
ODBCブリッジコードを生成するときに接続するSymfoware Serverを、あらかじめ、接続先として設定します。
ODBCデータソースを登録します。データソース登録時のODBCドライバには、“Symfoware ODOS”を指定してください。
参照
ODBCデータソースの登録手順の詳細は、“アプリケーション開発ガイド(ODBCドライバ編)”の“ODBCデータソースの登録”を参照してください。
注意
ODBCデータソースの登録前に、データベースが構築されている必要があります。
Visual Studioから、データベースのデータ接続を作成します。
[ツール]メニューの[データベースへの接続]を選択し、[データソースの選択]ダイアログを表示します。
[データソース]の“その他”を選択し、[データプロバイダ]プルダウンメニューから“.NET Framework ODBC 用データ プロバイダ”を選択します。
[続行]ボタンをクリックし、[接続の追加]ダイアログボックスを表示します。
[データソースの指定]、および[ログイン情報]に接続先情報を指定し、[OK]ボタンをクリックします。
サーバーエクスプローラのデータ接続の配下に、作成したデータ接続のテーブル、ビュー、およびプロシージャが表示されることを確認します。
ODBCブリッジコードを生成します。ODBCブリッジコードの生成には、ODBCデータソース用のデータオブジェクトを使用します。生成可能なデータ操作の範囲は、“3.2.2.1 コードの自動生成範囲”を参照してください。
また、コード生成時の注意事項は、“コード生成時の注意事項”を参照してください。
参照
ODBCブリッジコードの詳細は、Microsoft社のVisual Studioのマニュアルを参照してください。
ここでは、データアダプタ構成ウィザードを使用して、データ操作文を生成する例で説明します。
アプリケーションのフォーム、またはコンポーネント上に、ツールボックスからOdbcDataAdapterオブジェクトをドラッグし、データアダプタ構成ウィザードを起動します。
ポイント
ツールボックスにODBCデータソース用のデータオブジェクト(OdbcCommand、OdbcCommandBuilder、OdbcConnection、およびOdbcDataAdapter)が表示されていない場合は、ツールボックスを右クリックし、[アイテムの選択]からデータオブジェクトを追加してください。
[データ接続の選択]の[データアダプタで使用するデータ接続]に、データベースの接続名を選択し、[次へ]ボタンをクリックします。
コマンドの種類の選択画面で[SQLステートメントを使用する]ラジオボタンを選択し、[次へ]ボタンをクリックします。
注意
[既存のストアドプロシージャを使用]は選択しないでください。
[SQLステートメントの生成]の[クエリ ビルダ]ボタンをクリックし、[クエリ ビルダ]ダイアログボックスを表示します。
[クエリ ビルダ]ダイアログボックスで、データ操作文を作成します。
注意
データアダプタ構成ウィザードでは時間隔型を含む表のデータを指定することはできません。詳細は、“3.2.2.1 コードの自動生成範囲”を参照してください。
データアダプタ構成ウィザードに戻り、[次へ]ボタンをクリックし、データ操作文を生成します。
[ウィザードの結果]画面の[完了]ボタンをクリックします。
生成したODBCブリッジコードにコンパイルエラーがないことを確認します。
[ファイル]メニューの[すべてを保存]を選択し、プロジェクトを保存します。
ODBCブリッジコードを自動生成する場合、以下のことに注意してください。
Visual Studioを利用してアプリケーションを開発する場合は、データベース名をスキーマ名として扱います。そのため、スキーマ名と同一のデータベース名を定義してください。
各オブジェクトで生成したコードを変更する場合は、必ず各オブジェクトのプロパティ、またはデータアダプタ構成ウィザードを使用してください。直接変更すると、Symfoware .NET Data Providerのコードが生成できない可能性があります。
以下のOdbcTypeに対応するSymfowareDbTypeはありません。OdbcCommandプロパティ画面、またはOdbcDataAdapterプロパティ画面で各オブジェクトのプロパティを変更する際に、選択しないでください。
BigInt
Binary
Timestamp
Bit
Nchar
Ntext
NVarChar
Text
TinyInt
UniqueIdentifier
以下の各オブジェクトのプロパティは編集しないでください。エラーの原因や、自動生成したコードの正確性を確保できなくなる可能性があります。
GenerateMember
ApplicationSettings配下のPropertyBinding
SNDPコード生成ツールを使用して、生成したODBCブリッジコードから、Symfoware .NET Data Providerのコードを生成します。
コード生成後にユーザインタフェース、またはデータ操作を変更したい場合は、変更したい操作まで戻り、コード生成までやり直してください。
ODBCブリッジコードからSymfoware .NET Data Providerのコードを生成する手順を説明します。
注意
SNDPコード生成ツールを実行する前に、ODBCブリッジコードにコンパイルエラーがないことを確認してください。エラーがあると、Symfoware .NET Data Providerのコードもエラーになります。
SNDPコード生成ツールを実行する前に、プロジェクトを保存してください。保存していない場合、データが失われる可能性があります。
なお、保存には、[ファイル]メニューの[すべてを保存]を使用してください。
Symfoware Server クライアント機能のインストール後にVisual Studioをインストールしている場合、SNDPコード生成ツールの機能を有効とするために、以下の設定を実施してから、Visual Studioを再起動してください。
[ツール]メニューのアドインマネージャを選択します。
表示されたアドインマネージャのダイアログで、アドイン“Make SNDP Code”のスタートアップの項目にチェックをします。
Symfoware .NET Data Providerのコード生成は、ファイル単位に行います。コード生成時に複数のファイルを開いている場合、現在有効になっているファイルが変換されます。
Visual Studioでコードを生成するファイルを開きます。
フォームデザイナをアクティブにします。
[ツール]メニューの[SNDPコード生成]を選択します。
フォームのリソースファイルにSQL文が書き込まれている場合、以下のダイアログボックスが表示されます。[はい]ボタンをクリックし、リソースファイルをリロードしてください。
SNDPコード生成ツールが正常に終了したら、以下に示すとおり、Symfoware .NET Data Providerのコードが生成されたことを確認してください。
[C#の場合]
#region "SNDP Wizard generated code " (Symfoware .NET Data Providerのコード) #endregion
注意
SNDPコード生成ツールで生成したコードは、直接変更しないでください。直接変更した場合、正常に動作しない可能性があります。
変更する場合は、ODBCブリッジコードの生成からやり直してください。
SNDPコード生成ツールを使用すると、ODBCオブジェクト名の先頭に“SNDP_”が付加されます。アプリケーションロジック作成時に、オブジェクト名を間違えないよう、注意してください。
SNDPコード生成ツールの実行前と実行後のオブジェクト名の例を示します。
実行前 | 実行後 |
---|---|
OdbcConnection | SNDP_OdbcConnection |
MyObject | SNDP_MyObject |
Symfoware .NET Data Providerのコードを自動生成した場合、アプリケーションロジックで、生成したコードを呼び出す必要があります。
ここでは、自動生成したコードの呼び出し方と、コネクションの作成について説明します。
参照
そのほかのアプリケーションロジックの詳細は、“第5章 APIリファレンス”およびMicrosoft社のMSDNライブラリを参照してください。
注意
アプリケーションロジックを作成する際に、“SNDP_InitializeComponent”という関数名は定義しないでください。
アプリケーションロジックは、自動生成したコードと混在させないでください。混在させると、SNDPコード生成ツールを再実行したときに、ロジックが失われます。
自動生成したSymfoware .NET Data Providerのコードの呼び出し方とコネクションの作成について説明します。
自動生成したコードの呼出し
アプリケーションロジックの最初に、SNDPコード生成ツールで生成したSymfoware .NET Data Providerのコードを呼び出すSNDP_InitializeComponent関数を記述します。
Windowsアプリケーションの場合は、Form_Load関数の中に、Webアプリケーションの場合は、Page_Load関数の中に記載することを推奨します。
なお、SNDP_InitializeComponent関数は、グローバルオブジェクトにメモリを配布するため、アプリケーションロジックの最初に1回だけ呼び出すようにしてください。SNDP_InitializeComponent関数を2回以上呼び出すと、メモリリークやオーバーフローが生じる可能性があります。
コネクションの作成
コードを自動生成した場合、SNDP_InitializeComponent関数の直後に、データベースへの接続先情報(コネクション)を記述します。
コネクションには、2種類の指定方法があります。詳細は、“2.1 コネクション”を参照してください。
自動生成したコードの呼出しとコネクションの作成例
自動生成したコードの呼出しとコネクションの作成例を示します。
[C#の場合]
private void Form1_Load(object sender, EventArgs e) { this.SNDP_InitializeComponent();
this.SNDP_odbcConnection1.ConnectionString = "DATA SOURCE=127.0.0.1;PORT=26551;" +
"INITIAL CATALOG=TEST;USER ID=root;PASSWORD=PASS01";
}
[Visual Basic .NETの場合]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.SNDP_InitializeComponent()
Me.SNDP_OdbcConnection1.ConnectionString = "DATA SOURCE=127.0.0.1;PORT=26551;" _
& "INITIAL CATALOG=TEST;USER ID=root;PASSWORD=PASS01" End Sub
ポイント
Symfoware .NET Data Providerのコードを自動生成すると、自動生成コードの開始直後に、SNDP_InitializeComponent関数、および作成したオブジェクトのConnectionStringプロパティが、コメントとして表示されます。このコメントをアプリケーションロジックにコピーし、ConnectionStringプロパティに接続先情報を追加してください。
[C#の場合]
#region "SNDP Wizard generated code " // このregion内の内容をコード エディタで変更しないでください。 // 下記のコードは自動生成したSymfoware .NET Data Providerのコードの呼び出し方法です。 // アプリケーションロジックの最初にコピーしてください。 // this.SNDP_InitializeComponent();
// this.SNDP_odbcConnection1.ConnectionString="実際の接続先情報を記載してください"; private Fujitsu.Symfoware.Client.SymfowareDataAdapter SNDP_odbcDataAdapter1; : #endregion
[Visual Basic .NETの場合]
#Region "SNDP Wizard generated code " ' このregion内の内容をコード エディタで変更しないでください。 ' 下記のコードは自動生成したSymfoware .NET Data Providerのコードの呼び出し方法です。 ' アプリケーションロジックの最初にコピーしてください。 ' Me.SNDP_InitializeComponent()
' Me.SNDP_OdbcConnection1.ConnectionString="実際の接続先情報を記載してください" Friend WithEvents SNDP_OdbcDataAdapter1 As Fujitsu.Symfoware.Client.SymfowareDataAdapter : #End Region