Sql server 无效的对象名称错误,但在架构中找到表?

Sql server 无效的对象名称错误,但在架构中找到表?,sql-server,vb6,adodb,Sql Server,Vb6,Adodb,我正在使用ADODB连接连接到一个数据库,我的其他同事都不知道如何连接到这个数据库。到目前为止,我已经能够通过两种方法查看所有可用的表: 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 rstSch

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

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>>
从中选择*
其中,
是上述两种方法返回的表名之一。但是,每当我这样做时,标题中就会出现错误:

Invalid object name '<<TABLENAME>>'.
无效的对象名称“”。

那么,我究竟应该如何访问由OpenSchema()方法标识的表中的数据呢。还有我不熟悉的其他方法吗?

与itsLex在评论中讨论过:

用SQL Server术语来说:

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

如在评论中与itsLex讨论的:

用SQL Server术语来说:

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

发布问题几秒钟后,我尝试了(看起来是什么)
。有人能确认这是正确的名称吗?您使用的是什么数据库引擎?@DaveInCaz我相信这是SQL Server在执行SELECT*FROM表名时,表名必须是显式表名。。。它不能是变量。您可以根据结果构建一个SQL字符串,以便最终将SQL作为字符串传递,其中它显式地声明完整的SQL语句,传递给执行语句以执行,然后读回结果。但无法参数化表名。已确认。在SQL Server术语中:
。如果首先执行
use
,则可以使用。然后突然,所有者不再重要了。发布问题几秒钟后,我尝试了(看起来是什么)
。有人能确认这是正确的名称吗?您使用的是什么数据库引擎?@DaveInCaz我相信这是SQL Server在执行SELECT*FROM表名时,表名必须是显式表名。。。它不能是变量。您可以根据结果构建一个SQL字符串,以便最终将SQL作为字符串传递,其中它显式地声明完整的SQL语句,传递给执行语句以执行,然后读回结果。但无法参数化表名。已确认。在SQL Server术语中:
。如果首先执行
use
,则可以使用。然后突然,所有者不再重要了。