きっかけ
VB.NETは触ったことがなく日頃はExcel,AccessVBAでDB接続をして簡単なアプリを作ってる。ここは一念発起でVB.NETでアプリをつくると腹をくくった。(つもり)開発ツールなどは無償で環境を構築できる。あとは頑張る。テストを行った簡単な記録。会社の基幹系DBがOracleなのでハードルが上がりそうだがOracleで作ることにする。この先道のりは厳しい。
構成
| 開発ツール | Visual Studio Community2015 |
| ミドルウェア | ODP.NET(Oracle Developer Tools for Visual Studio) |
| データベース | Oracle Database Express Edition 11g Release 2 |
| OS | Windows8.1 |
インストール
VisualStudioインストール
初期設定のまま最後まで
DBインストール設定
インストール後Web管理画面からユーザ名パスワード設定

ODP.NET ODTインストール設定
インストール途中にClient接続情報の設定 tnsnames.oraが作られる
コードを書いていく前に参照設定の追加
サーバエクスプローラにOracleのテーブルが出現していたのでこれにて無手順で接続できるはずと勝手に思い込み参照設定が必要なことを気が付くまで恐ろしく時間を費やしてしまった。そういえばVBAでも参照設定しないとADO使えないなぁと後で合点VB.NETはDLLを指定する方式なのだなぁ。

いろいろ調べてコードを書いてみた
Imports Oracle.DataAccess.Client
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim strUser As String 'ユーザー
Dim strPasswd As String 'パスワード
Dim strDataSource As String 'データソース
Dim strConnectstring As String
Dim oraCon As OracleConnection
Dim strSql As String
Dim Dadp As OracleDataAdapter
Dim Dset As DataSet
strUser = "SHUKEI"
strPasswd = "admin"
strDataSource = "XE"
strConnectstring = "User Id=" & strUser & "; " & "Password=" & strPasswd & "; " & "Data Source=" & strDataSource
oraCon = New OracleConnection(strConnectstring)
oraCon.Open()
Dset = New DataSet("TMP")
strSql = ""
strSql = strSql & "Select EMPNO 社員番号,ENAME,JOB,MGR,HIREDATE,SAL FROM EMP"
Dadp = New OracleDataAdapter(strSql, oraCon)
Try
Dadp.Fill(Dset, "TMP")
Me.DataGridView1.DataSource = Dset.Tables("TMP")
Me.DataGridView1.ReadOnly = True
Me.DataGridView1.AllowUserToDeleteRows = False
Me.DataGridView1.AllowUserToAddRows = False
'全ての行の背景色を水色にする
Me.DataGridView1.RowsDefaultCellStyle.BackColor = Color.AliceBlue
'奇数行を黄色にする
Me.DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.White
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
Dadp.Dispose()
oraCon.Close()
End Sub




コメント