- - PR -
スキーマ情報の取得について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-09-29 15:40
はじめて投稿致します。
当方.NET、Oracle共に初心者です。 VB2005+Oracle10g+ODP.NETによるアプリケーションを開発しております。 開発工数を短縮する為、業者より提供されたサンプルソース(VB2005+ Access2003+OLE)をOracle接続用にカスタマイズしております。 テーブルスキーマ情報を取得する部分のカスタマイズで、OleDbConnectionクラスの GetOleDbSchemaTableメソッドをサンプルで使用しており、これに準ずるODP.NET上の メソッドを調べていたところ、OracleDataReaderクラスのGetSchemaTable()メソッド が当てはまるかと思ったのですが、調べているうちに、どうも返ってくる値が違う らしく、上手く動かないとの情報があり、行き詰ってしまいました。 以下にサンプルソースを記載しますので、アドバイスを頂ければ幸いです。 では、よろしくお願いします。 【サンプルソース】 Public Sub UpdateTableName() Dim i As Integer Dim schemaTable As DataTable schemaTable = cnt.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"}) If tableNames Is Nothing Then tableNames = New String() {""} End If SyncLock tableNames ReDim tableNames(schemaTable.Rows.Count) For i = 0 To schemaTable.Rows.Count - 1 tableNames(i) = CStr(schemaTable.Rows(i).ItemArray(2)) Next End SyncLock End Sub Public Function SearchTable(ByRef tablename As String) As Boolean SearchTable = False SyncLock tableNames For Each name As String In tableNames If name = tablename Then SearchTable = True Exit For End If Next End SyncLock End Function |
1