SQLBrowseConnect的问题

时间:2010-09-01 12:19:43

标签: sql odbc

我正在调用odbc32.dll(SQLBrowseConnect)来返回sql server上的数据库列表。

从运行跟踪我可以看到正在执行的查询是

select name from master..sysdatabases where has_dbaccess(name)=1

如果我传递的凭据不是sa用户,则只返回系统数据库。无论如何我可以使用SQLBrowseConnect与另一个用户(其默认数据库也不保证是主数据库)来返回服务器上的所有数据库吗?

我也想避免smo对象

1 个答案:

答案 0 :(得分:1)

在我们的ETL工具中,我们使用SQLBrowseConnect来获取可用SQL服务器的列表。

我们不会用它来获取数据库列表

SQLExecDirect(FHSMT,PAnsiChar('按姓名从MASTER.dbo.sysdatabases中选择名称'),SQL_NTS)

我们对不同版本的SQL服务器使用不同的ODBC驱动程序。