我通过bde连接oracle,程序中创建tdatabase对象
var
  d:Tdatabase;
begin
try
  d:=Tdatabase.create(nil);
  d.AliasName:='cfib';
  d.DatabaseName:='uuu';
//  d.Params.Clear;
  d.LoginPrompt:=false;
  d.Params.Add('username = cfib ');
  d.Params.Add(' password = cfib ');  d.Open;
报:不能连接数据库。请问怎样动态创建TDatabase对象并连接数据库

解决方案 »

  1.   

    BDE中的cfib,是否配置好了TNS?
      

  2.   

    oracle的服务命名服务配置好了么?
    另外,bde也要配置一下
    新建一个oracle类型的别名,选择服务名,选择网络协议,输入正确的
    用户名和密码,基本就能搞定
      

  3.   

    都是正确的
    补充一下:在窗体上放一tdatabase控件,同样的设置,可以连接。别名,oracle都没有问题。
    我想知道,按在程序中创建Tdatabase对象,然后连接,有其他注意点吗?
      

  4.   

    和属性设置应该是一样的道理。只不过属性设置后,Delphi替你执行这些代码,而现在你得自己手工写代码。
      

  5.   

    to:为程序奋斗
    能留下qq吗我把 d.LoginPrompt:=false;
    false 改为true ,程序运行时就会弹出数据库登陆来,输入后连接成功。true 改为 false后,则报数据库未登陆。
    我的qq:9623642
      

  6.   

    去联合兴邦看看吧!(lx)http://www.qdcombine.com
      

  7.   

    我不用QQ的。
    你的参数可能有问题。
    应该是:
    d.Params.Add('USER NAME=cfib');
    d.Params.Add('PASSWORD=cfib');
      

  8.   

    我这里测试了,却是可以得。
    还有确认
    d.Params.Clear;