什么是.udl文件?怎么在adoconnection1中使用这个文件呀?

解决方案 »

  1.   

    Udl 是一个连接文件,
    你在adoconnection1中指定连接的UDL的路径,
    用UDL来连接数据库,
    这样的好处是:不管你的数据库的名称,用户名等,
     安装的时候只要改一下连接文件就行了,不用修改你的代码,
    但是也有不好的地方,如安全性等等。
      

  2.   

    先谢谢了
    那么,我想把我的xxx.exe可执行文件,拷贝到其他的机子 A上,而A上并没有我需要的数据库,也没有Delphi7应用程序。我想用B机的sqlserver数据库,该怎么进行培植呢?不修改程序,那怎么做呀?可以详细一些吗?
    或者给一些网站什么的,来参考一下!谢谢
      

  3.   

    配置好你的*.uld文件,然后:
    adoconnection1.conncectionstring:='File Name='+'带路径的*.udl';
      

  4.   

    把UDL放在程序(EXE)目錄下,然後是設置UDL連接,再把ADO連接設置為FILE NAME=XX.UDL
      

  5.   

    楼上:你说的很对呀!
    但是我想连接到网络内其他的机子B上,是设置ip地址呢,还是设置数据库服务器名,还是设置B机的计算机名字呢?在建立的udl文件中,是在指定数据源处设置呢,还是在使用连接字符串处设置呢?具体是什么呢?
      

  6.   

    udl是系统中的一个,你可以搜索一下。
    然后程序中可以用shellexecute 调用它,进行设置,这时可以输IP地址,数据源等信息然后将.udl赋给你的connection就行了。
      

  7.   

    to :zxf_feng(阿日)
      可否说的具体一点,谢谢!
      

  8.   

    如果需要用udl的话,可能是因为电脑上没有装数据库必须的组件,所以借助.udl获得字符串只要电脑上有了像sql server的客户端,都可以不用.udl的,其实你可以直接使用字符串连接的.udl一般可以用来检查你的数据库是否可以连接,只要能成功连接到库,如果运行错误,就能把错误定位在程序中,检查程序就好了。
      

  9.   

    to:whbo
      怎么直接用字符串连接呢?请明示!
      

  10.   

    把udl拷到你的程序目录下,DBDEMOS.UDL 在你机器中搜一下。
    如果不用udl不装sqlserver客户端也是可以的,直接修改注册表里也行。unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, ADODB, StdCtrls, ShellApi;type
      TForm1 = class(TForm)
        Button1: TButton;
        ADOConnection1: TADOConnection;
        ADOQuery1: TADOQuery;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      spath:String;
    begin
      spath:=ExtractFilepath(Application.ExeName)+'\DBDEMOS.UDL';
      ShellExecute(handle,'open',pchar(spath),'','',SW_SHOWNORMAL);
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      spath:String;
    begin
      spath:=ExtractFilepath(Application.ExeName)+'\DBDEMOS.UDL';
      try
        adoconnection1.Connected := false;
        Adoconnection1.ConnectionString := spath;
        adoconnection1.Connected := true;
        showmessage('ok');
      except
        showmessage('error');
      end;
    end;end.