首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FireDAC TFDConnection.GetTableNames在具有可信身份验证的火鸟上不起作用

FireDAC TFDConnection.GetTableNames在具有可信身份验证的火鸟上不起作用
EN

Stack Overflow用户
提问于 2015-07-08 17:49:16
回答 1查看 3.2K关注 0票数 3

我正在使用FireDAC连接我的火鸟数据库(从FIBPlus迁移并使用XE8更新1)。我使用的是可信身份验证(OSAutenth=True)。我需要读取数据库中的表列表。我正在使用TFDConnection.GetTableNames,它与标准身份验证(username+password)一起工作得很好,但我无法使用可信身份验证让它工作。也许我做错了什么,或者我使用了错误的方法来获取这种信息。这就是我要做的:

代码语言:javascript
复制
var
  oDef : IFDStanConnectionDef;
  oPars: TFDPhysFBConnectionDefParams;
begin
  oDef:=FDManager.ConnectionDefs.AddConnectionDef;
  oDef.Name:='MyFirebird';

  oPars:=TFDPhysFBConnectionDefParams(oDef.Params);
  oPars.DriverID:='FB';
  oPars.Protocol:=ipTCPIP;
  oPars.Server:=edServer.Text;
  oPars.SQLDialect:=3;
  oPars.Database:=edDataBase.Text;
  oPars.OSAuthent:=(edPassword.Text='');
  oPars.UserName:='SYSDBA';
  oPars.Password:=edPassword.Text;
  oPars.RoleName:=edRole.Text;
  oPars.OpenMode:=omOpen;

  FDPhysFBDriverLink1.Embedded:=False;
  FDPhysFBDriverLink1.VendorLib:='c:\MyProgram\fbclient.dll';

  FDConnection1.ConnectionDefName:='MyFirebird';
  FDConnection1.Connected:=TRUE;

  FDConnection1.GetTableNames('','','',Memo1.Lines,[osMy],[tkTable]);       '<--- doesn't works with os authentication

  FDQuery1.SQL.Text:='select * from MYTABLE';
  FDQuery1.Active:=TRUE;                                              '<--- works fine in both kind of authentication

我将要替换的FIBPlus TpFIBDatabase.GetTableNames对于这两种身份验证都可以很好地工作。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-11-23 15:48:10

按如下方式更改您的命令:

代码语言:javascript
复制
FDConnection1.GetTableNames('','','',Memo1.Lines,[osMy],[tkTable],true);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31289090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档