VB.NET Oracleに接続してselectするサンプル

VB.NETのOracle11gに接続してselectするサンプルです。

確認環境
・Microsoft Visual Studio Community 2019
・Oracle Express Edition 11g Release 2
・Oracle.ManagedDataAccess 19.5.0

目次

設定 Oracle.ManagedDataAccessを取得する
コード 接続してselectを実行する

Oracle.ManagedDataAccessを取得する

Oracle.ManagedDataAccessは、Oracle公式のドライバです。
(Oracle Data Provider for .NET(ODP.NET),Managed Driverです)
この他にOracle Clientをインストールする必要はありません。

1.Visual Studioの「ツール」→「NuGetパッケージマネージャー」→「ソリューションのNuGetパッケージのい管理」をクリックします。

 

2.「参照」タブをクリックし検索入力欄に「Oracle.ManagedDataAccess」と入力します。
表示されたOracle.ManagedDataAccessをクリックし、プロジェクトのチェックを入れ、インストールボタンを押します。

 

3.インストールが完了すると参照配下にOracle.ManagedDataAccessが追加されます。

app.config等の修正はありませんでした。

接続してselectを実行する

Oracleに接続してselectを実行するサンプルです。

Imports Oracle.ManagedDataAccess.Client

Module Module1
    Sub Main()
        Dim Sql As String = "SELECT id,name,romaji FROM SYAIN"
        Try
            Using Conn As OracleConnection = New OracleConnection()
                Conn.ConnectionString =
                    "User Id=hr;Password=hr;Data Source=localhost/XE;"
                Conn.Open()
                Using cmd As OracleCommand = New OracleCommand(Sql)
                    cmd.Connection = Conn
                    cmd.CommandType = CommandType.Text
                    Using reader As OracleDataReader = cmd.ExecuteReader()
                        While (reader.Read())
                            Console.WriteLine(
                                reader.GetDecimal(0) &
                                reader.GetString(1) &
                                reader.GetString(2))
                        End While
                    End Using
                End Using
            End Using
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
    End Sub
End Module

1行目は、Oracle.ManagedDataAccess.Clientをインポートしています。
5行目は、select文です。
7,11,14行目は、usingステートメントです。
配下のブロックの処理が終了したときにリソースを解放するDispose()が呼ばれます。
9行目は、接続情報です。ユーザーID,パスワード、データソースを指定します。
14行目は、SQL文を実行しています。
17~19行目は、テーブルから取得した値を表示しています。

実行結果

以下のように表示されます。

1鈴木suzuki
2田中tanaka
3佐藤sato

関連の記事

Oracle11gのインストールとHRテーブルを確認
Oracle SQLコマンドラインを使用するサンプル
Oracle DDL文を作成するサンプル

△上に戻る