PostgreSQL vb.net

VB.netでpostgresSQLを使うSample(その1)

PR



vb.netでpostgresを使うのだ

write 2020/9/8 postgresSQL11

今回は.netライブラリのNpgsqlを使いOracleからPosgresSQLへVB.netアプリを移行する前段階として動作検証する為のサンプルを作成したものです。

NpgsqlはNugetからインストールできます。インストール後、参照設定してください。

では本題のVB.netのDBアクセスSampleですがAdapter、Readerと2つあります。Adapter、Readerもパラメタ変数などを使ったより実践に使えそうなサンプルです。
あとはストアドプロシジャ。こちらは情報があまりないですね。
ストアドプロシジャ使わないほうが簡単ですからね。
特にVB.netでのRefcursol、INOUT複数項目のサンプルは少ないです。

動くサンプルと解説、ポイントなどを暇な時に公開します。

※ストアドプロシジャ・・・Oracleで言うところのPLSQL、PostgreSQLだとPLPGSQLと言う言語がストアドプロシシャ。サーバ側でSQLを実行するのが目的。サーバ側で動くので早い。

PosgresSQL前準備

PosgresSQLをインストール。・・・PosgresSQL11で検証しています。

PosgresSQL使った方は分っていると思われますがポスグレデフォルトスキーマはpublicです。
私はスキーマ=admin、DB=DB1としています。

※Oracleからの移行するとスキーマ、ユーザー(ポスグレ=ロール)、Grant権限、シノニム、トリガなど似て異なる点を熟知しないと何回も作り直す羽目になります。移行ツールOra2PGなどを上手に使いながら PosgresSQLに合わせてDB環境を作ることをお勧めします。

createテーブル

テストデータをInsert

VBのDBアクセスにはAdapter編

良いところ・・・FillするとDataTableにデータがガッツリとセットされて帰ってきます。あとはここから必要なデータを切り出し使えばOK。DataGridVIewならそのままセットすれば結構いける。データ少量ならこちらが楽。

悪いところ・・・readerより遅いと言われている。使い方やSQLにもよるのだと私的には思っているがそれは私の主観と言うことで・・・利点を知りどちらも使いこなせることが必要ですね。

form作成

form1

DBクラス追加

ClassDB
クラスと言ってもpostgresSQLの接続情報をSharedで使いまわしているだけのものです。

必要なものはサーバ、ポート、ユーザ、パス、DB名です。

Button1_Click追加

※ポイントはアダプタでセレクトする場合はadp.SelectCommand.Parametersにパラメタ変数をセットすることです。

実行結果VB

textbox1にyamadaと入力してadapterボタンをpostgresSQLからデータを読み込み表示がされます。
次回はRraderを使って同じ処理を実装します。ではでは

お知らせ

アイシステムでは、OracleからPostgreSQLへの移行やっちゃいますよ!
脱Oracle、さよならWindows♪
Oracle PL/SQLもやってますよ!

-PostgreSQL, vb.net