概要
Visual StudioでTDVへ接続するアプリケーションを開発する手順を説明します。
本記事では、以下の2通りの方法を紹介します。
以降で説明するサンプルコードやVisualStudioの仕様に関するお問い合わせにはお答えすることはできませんので、その点につきましてはご了承ください。
検証環境
製品 | バージョン |
---|---|
TDV | 8.5.25 |
Visual Studio | 2022 |
ADO.NETドライバを利用して接続
Visual Studioのインストール
Visual Studio 2022をインストールする際に、.NET デスクトップ開発を選択します。
プロジェクト作成
新しいプロジェクトの作成を実施します。
Windowsフォームアプリケーション(.NET Framework)を選択します。
プロジェクト名を入力し、フレームワークを選択します。
TDV ADO.NETドライバのインストール
各種TDVドライバをアーカイブしたファイル(TIB_tdv_drivers_8.5.5_all.zip
)を展開し、ADO.NETドライバのインストーラを実行します。
以下のようにインストールされることを確認します。
ドライバ参照設定
ドライバを参照に追加します。
参照ボタンを押してファイル C:\Program Files (x86)\TIBCO Software\ADO.NET
Driver for TDV 8.5\Composite.Data.dll
を追加します。
開発
ソースコードを記述します。
connstring部分にはTDVへの接続情報を指定します。
using Composite.Data.CompositeClient; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Data.Odbc; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace test.tdvclient { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { var connstring = "host=localhost;port=9401;user=admin;password=spotfire;domain=composite;datasource=examples"; var builder = new CompositeConnectionStringBuilder(connstring); CompositeConnection conn = null; try { conn = new CompositeConnection(builder); conn.Open(); var sql = "select * from ViewOrder"; var cmd = new CompositeCommand(sql, conn); var reader = cmd.ExecuteReader(); while (reader.Read()) { var orderID = reader.GetInt32(0); var companyName = reader.GetString("CompanyName"); } var adpter = new CompositeDataAdapter(sql, conn); DataSet ds = new DataSet(); adpter.Fill(ds); this.dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ex) { throw new Exception(ex.Message); } finally { try { if (conn.State != ConnectionState.Closed) { conn.Close(); } } catch (Exception ex) { throw new Exception(ex.Message); } } } } }
FormにDataGridViewを追加し、サイズを調整します。
プロジェクトのビルド
プロジェクトをビルドします。
EXEファイルが作成されます。
下記の3つのファイルを利用者端末に配布します。
ファイル | 説明 |
---|---|
Composite.Data.dll | ドライバーDLL ※EXEと一緒に配布することで、利用者端末にADO.NETのインストールが不要になります。 |
test.tdvconnect.exe | EXE本体 |
test.tdvconnect.exe.config | EXEの設定ファイル |
動作確認
以下のTDV公開ビューに対して動作確認を行います。
EXEを実行し、以下のようにTDVからデータを取得できることを確認します。
ODBCドライバを利用して接続
Visual Studioのインストール
Visual Studioのインストールと同じ手順のため説明は割愛します。
プロジェクト作成
プロジェクト作成と同じ手順のため説明は割愛します。
TDV ODBCドライバのインストール
各種TDVドライバをアーカイブしたファイル(TIB_tdv_drivers_8.5.5_all.zip
)を展開し、ODBCドライバのインストーラを実行します。
開発
ソースコードを記述します。
connstring部分にはTDVへの接続情報を指定します。
ODBCの場合はDSNを使うことも可能ですが、DSNを使わずに接続文字列にてTDV接続情報を指定することも可能です。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Odbc; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace test.tdvclient { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { try { // var DbConnection = new OdbcConnection("DSN=SAMPLE_ISAM"); var conn = new OdbcConnection("Driver={TIBCO(R) Data Virtualization 8.5};Server=localhost;Port=9401;User=admin;Password=spotfire;Domain=composite;dataSource=examples;"); conn.Open(); var cmd = conn.CreateCommand(); cmd.CommandText = "SELECT * FROM ViewOrder"; var reader = cmd.ExecuteReader(); while (reader.Read()) { var col = reader.GetString(0); } var adpter = new OdbcDataAdapter("SELECT * FROM ViewOrder", conn); DataSet ds = new DataSet(); adpter.Fill(ds); this.dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ex) { throw; } } } }
FormにDataGridViewを追加し、サイズを調整します。
プロジェクトのビルド
プロジェクトをビルドします。
EXEファイルが作成されます。
下記の2つのファイルを利用者端末に配布します。
ファイル | 説明 |
---|---|
test.tdvconnect.exe | EXE本体 |
test.tdvconnect.exe.config | EXEの設定ファイル |
EXEファイルを実行するために、利用者端末にもODBCドライバーをインストールする必要があります。
補足:Visual Studio 2022ではデフォルトで32ビットのEXEをビルドするため、EXE実行時には32ビットのODBCドライバーをインストールする必要があります。
64ビットのODBCのみがインストールされている場合は、以下のように32ビットを選ぶのチェックを外してビルドしてください。
動作確認
以下のTDV公開ビューに対して動作確認を行います。
EXEを実行し、以下のようにTDVからデータを取得できることを確認します。