我在我自己的机子(MyComputer)上安装了SQL SERVER和DELPHI来开发一个数据库应用程序,这个程序没有打包。
在与数据库连接时,我是用ADO来连接的。我现在要把数据库移植到一台服务器(SERVER)上,并把应用程序拷贝到一台客户机(CLIENT1)上,请问我是不是要把每个FORM上的ADO的ConnectioString属性Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=scgl;Data Source=BENZ;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=MyComputer;Use Encryption for Data=False;Tag with column collation when possible=False全都改掉,改成ID=SERVER ??? 
请问要如何解决这个数据库的移植问题,当把数据库应用程序拷贝到客户机时,我还要拷贝什么文件到客户机上?
顺便问问,用BDE连接、ADO连接数据库 哪个更好?谢谢!

解决方案 »

  1.   

    你程序设计有问题,应该就用一个adoconnection程序用到的adoquery都链到这一个上,这样,只要改一个adoconnection的边接串就可以了
      

  2.   

    每个FORM上的ADO的ConnectioString属性???
    ******************************************
    如果不是连接不同的数据库,一个doconnection不就可以了么!
      

  3.   

    请告诉我当我要把数据库应用程序移植到客户机上时,我还要拷贝哪些DLL文件到客户机吗?
    谢谢
      

  4.   

    利用BDE访问机制时,当发布程序时需要附带大量的BDE引擎,并且需要对目的机的BDE参数进行设置,但不可否认,BDE访问数据时是最快的;而利用ADO存取机制时,不需要带大量的BDE引擎,所
    以现在基于ADO的访问是最流行的。一般地,通常可以在分布的程序的目录下,就将一些数据表放
    在里面,程序的移植性大大提高。
      

  5.   

    TO herofy: 我刚才试了,要在两个不同的FORM上,用同一个AdoConnection好象不行。在FORM_A
    上有一个AdoConnection1和adoquery1,FORM_B上也有一个adoquery2,但在form_b上的adoquery的connection属性找不到AdoConnection1。请问要怎么处理这个问题?谢谢。
      

  6.   

    老大,你切换到form_b的代码窗口,然后点DELPHI的"文件“菜单,USE UNIT..选项,调FORM_A啊,不过如果数据控件比较多,建议使用数据模块来统一管理。
      

  7.   

    你每个要用到adoconnection的窗体,都要引用放adoconnection控件的单元(数据模块或窗体)
      

  8.   

    建一个数据模块,把 ADOConnection 组件放在此数据模块上。
    所有的 ADO 数据组件的 Connection 设置为此 ADOConnection。
    在 ADOConnection 的 BeforeConnect 事件中,从配置文件或注册表中或应用程序配置界面取得主机名,
       ADOConnection.Properties.Item['Data Source'].Value:=DBServerHostName
      

  9.   

    如果用Ado的话,比较简单。
    客户端只需要运行:Cliconfg---〉配置为TCP/IP即可。
      

  10.   

    用ado的话,引用一个数据模块,其他的数据集直向他,在窗体上引用数据模块