对象名称错误,但在架构中找到表?

时间:2019-06-18 17:27:46

标签: sql-server vb6 adodb

我正在使用ADODB连接来连接到数据库,而我的其他同事都不知道该如何连接。到目前为止,我已经能够通过2种方法查看所有可用表:

Dim ado as object
set ado = CreateObject("ADODB.Connection")
Call ado.open("...")

set rs = ado.Execute("SELECT * FROM sys.objects WHERE type='U'")

还有

const adTable = 20
Set rstSchema = ado.OpenSchema(adTable)
Do Until rstSchema.EOF
    Debug.Print rstSchema("TABLE_NAME")
    rstSchema.MoveNext
Loop

但是令我困惑的部分是直接从表格中选择...我希望能够做到:

select * from <<TABLENAME>>

其中<<TABLENAME>>是上述2种方法返回的表名之一。但是,每当执行此操作时,标题中都会出现错误:

Invalid object name '<<TABLENAME>>'.

那么,我到底打算从OpenSchema()方法识别的表中访问数据是什么意思。还有其他我不熟悉的方法吗?

1 个答案:

答案 0 :(得分:0)

正如在评论中与itsLex讨论的那样:

按照SQL Server的术语:

select * from <<Database>>.<<Owner>>.<<TableName>>

或者,您可以如下使用USE语句:

USE <<Database>>;
select * from <<TableName>>;