1

まず、私が取り組んでいるコード (VB6) をお見せしたいと思います。

Dim db as Connection
Dim rs as Recordset
Dim rs1 as Recordset

db.Open "DSN=myDSN; Uid=myUser; Pwd=myPassword;"

'I connect successfully

Set rs = db.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE"))
' Everything ok here. I can list Database tables

Set rs1 = db.OpenSchema(adSchemaViews)  'This is the line I have problems with

データベースのビューを一覧表示しようとすると、次のようなエラーが表示されました。

BD にパスワードでアクセスできるユーザーを設定しました。接続文字列を使用して同じデータベースに接続すると、Oracle と SqlServer の両方でテーブルとビューの両方を一覧表示できます。

何か不足していますか?データベース エンジンの構成オプション。多分?

4

1 に答える 1

0

見つけた!DSN 接続からは、ビューとテーブルの両方がテーブルと見なされます。

これは機能するコードです:

Set rs1 = db.OpenSchema(adSchemaTables)
If rs1("TABLE_TYPE").Value = "VIEW" Then
' Do a lot of things with the views :D
End If

これが誰かを助けることができることを願っています。

読んでくれてありがとう!

于 2010-10-25T17:09:48.997 に答える