我用一个AdoConnection来连接一个SQL SERVER 2000数据库。那么我打包后 如何让我的程序在没有装数据库的电脑上运行?
另外,如果,客户的电脑上装了 SQL server 2K.那么,我的程序如何来配置,使得我的DELPHI程序 跟客户的电脑上装的 SQL server 2K关联。要知道 我的AdoConnection,在写程序时已经定死了。代码如下:
Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=picture;Data Source=BOYYUAN;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=BOYYUAN;Use Encryption for Data=False;Tag with column collation when possible=False那我是不可能更改的,况且我是在设计期做的,那么我如何让客户来配置呢?总不可能 我的SQL SERVER 2000跟客户的SQL SERVER2000一样吧。我的意思是,我的DELPHI程序,在客户那里安装好了 之后,怎样才能合理的跟客户的SQL server 2K连接。使得运行的结果跟在我自己电脑上的效果一直。

解决方案 »

  1.   

    解决问题的办法多的是,你可以把连接信息写进注册表或者使用*.udl或*.ini文件
      

  2.   

    那如何写进*.ini文件 或注册表?
      

  3.   

    我把连接信息写进*.ini文件 或注册表后 ,难道Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=picture;Data Source=BOYYUAN;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=BOYYUAN;Use Encryption for Data=False;Tag with column collation when possible=False这些东西 都没用了?
      

  4.   

    最简单的办法是,建立*.udl文件并通过该文件设置好数据库连接,放在当前目录下,然后在ADOConnection的BeforeConnect事件中加入以下代码即可:
      ADOConnection.ConnectionString := 'FILE NAME=' + ExtractFilePath(Application.ExeName) + '\connection.udl';
    程序运行时就会以*.udl设定的进行连接
      

  5.   

    to : gzllich(刚从泥坑里出来) ( ) :
    你的意思是说: 在 connection.udl 文件中放入:Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=picture;Data Source=BOYYUAN;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=BOYYUAN;Use Encryption for Data=False;Tag with column collation when possible=False这些信息?
      

  6.   

    那么更用 .ini有什么两样 ?
      

  7.   

    我的连接方法 参考了
       cn.ConnectionString :=
          'Provider=SQLOLEDB.1;Password=ly_dragonsoft;Persist Security Info=True;User ' +
          'ID=sqldba;Data Source=server;Use Procedure for Prepare=1;Auto Translate=True;' +
          'Packet Size=4096;Workstation ID=devil';
       cn.DefaultDatabase := '你的数据库名称';
       cn.KeepConnection := true;
       cn.ConnectionTimeout := 5;
       cn.LoginPrompt := false;
      

  8.   

    第二个问题好解决,我想知道第一个问题,如果用户的机器上没有SQL Server我如何自动装一个,然后把我的数据库也自动安装配置好,因为我的用户大多是不怎么懂电脑的,不能让他来配置呀。