如何取得数据库里所有库的名称?(50分)

  • 主题发起人 主题发起人 testPC
  • 开始时间 开始时间
T

testPC

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在SQL数据库里取到所有已建立的库的库名称?
 
use master
select name from sysdatabases
 
使用SQL语句:
select name from master..sysdatabases
 
如果对MASTER表无访问权限时,可以取得吗?
 
使用组件:SQLDemo
______________________________________________________________
procedure TfrmMain.DataBaseNameDropDown(Sender: TObject);
var
SQLServer:Variant;
Server:Variant;
db:Variant;
i,j:integer;
begin
SQLServer:=CreateOleObject('SQLDMO.Application');
Server:=CreateOleObject('SQLDMO.SQLServer');
if NtLogin.Checked then
begin
Server.LoginSecure:=True;
//设置为WINDOWS登录模式
Server.Connect(HostName.Text);
Server.IntegratedSecurity.SecurityMode:=1;
Server.DisConnect;
Server.Stop;
while Server.Status<>3 do
begin
end;
Server.Start(True,HostName.Text);
end
else
begin
Server.LoginSecure:=True;
//设置为混合登录模式
Server.Connect(HostName.Text);
Server.IntegratedSecurity.SecurityMode:=2;
Server.DisConnect;
Server.Stop;
while Server.Status<>3 do
begin
end;
Server.Start(True,HostName.Text);
end;

db:=Server.DataBases;
i:=db.Count;
DataBaseName.Items.Clear;
for j:=1 to i do
DataBaseName.Items.Add(db.item(j).name);

Server:=NULL;
SQLServer:=NULL;
db:=NULL;
end;
 
sql server
use master
select name from sysdatabases
可以做。我模拟过一个查询分析器
 
谢谢大家的支持。
另,我从网上查询得到
sphelpdb也可以在无MASTER库权限的情况下取得库名称的一个方法。
 
多人接受答案了。
 
后退
顶部