联接SQL SERVER时指定DataBaseName为什么不起作用(50分)

  • 主题发起人 主题发起人 Jao
  • 开始时间 开始时间
J

Jao

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi4.0联接SQL Server6.5,因为要联接不同的Server,所以用了
DataBase控件和TQuery控件,可是发生了一个问题:
当 DataBase.Params.Values['Server Name']:= 'Server1';
DataBase.Params.Values['User Name']:='sa';
DataBase.Params.Values['Password']:='pass';
DataBase.DataBaseName := 'FirstTable';
DataBase.Open;
....
Query.DataBaseName := DataBase.DataBaseName;
Query.SQL.Add('Select ....');
Query.Open;
会产生一个错误,说Table不存在,经检查发现是因为程序没有联接到
FirstTable库中,而是联接到了Master中,为什么DataBaseName不起
作用呢?
 
你并没有在参数中指定连接的数据库名.
加入DataBase.Params.Values['Database Name'] := 'FirstTable'。
你把DataBaseName的含义给搞错了。
 
To Blade,
那么DataBase的DataBaseName到底是指什么,在这种情况下还要不要指定
TQuery的DataBaseName属性。
 
Database仅仅指的是在你的计算机上的数据源名称或是alias.
 
接受答案了.
 
后退
顶部