如何使用DSN连接列出数据库的视图?

时间:2010-10-25 14:17:20

标签: database vb6 dsn

首先,我想向您展示我正在处理的代码(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

当我尝试列出数据库的视图时,我收到一条错误消息: “El proveedor no puede ejecutarlaoperaciònrequerida”(“提供商无法执行所需的操作”)

我配置了一个可以使用密码访问BD的用户。当我使用连接字符串连接到相同的数据库时,我可以在Oracle和SqlServer中列出表和视图。

我错过了什么吗?数据库Engines中的配置选项。可能?

1 个答案:

答案 0 :(得分: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

我希望这可以帮助别人。

感谢阅读!