我的操作系统是win2003,用的是delphi6+sql server2k,我的程序不需要在odbc里面设置dsn连接,我现在下载了installshield2008,我已经实行了动态测试,还有也将什么bde_ent,bdeclientdataset等打到包里面去了,包括mdac2.7,打包完成以后也没有报什么错误,为什么我打得包在xp下面安装后不能正常访问数据库,网上找了好多方法都不行,
还有假如我在bde里面有一个sql server的数据库联接db_link,我如何在installshield2008里面完成这个db_link的打包?

解决方案 »

  1.   

    好几天了,都无人能回答?  今天本人正好没事,耐心给你讲讲吧。1、Delphi 连接sql server 2000数据库,应该用ADO组件,而不是什么BDE 。BDE现在基本没什么用了。
    2、现在的Windows操作系统都带有MDAC(微软数据访问组件包),所以,制作安装时,不需要再加入什么mdac2.7。
    3、sql server数据库不同于Access 这种文件型数据库,不能只是简单地将数据库文件(.mdf、.ldf)拷贝到目标机器上就OK了,而必须“告诉”sql server 数据库服务器,这台电脑的哪个目录中有一个sql server数据库。
    这个“告诉”的过程,用术语讲就是所谓“注册”。具体来说,就是在“企业管理器”中,将你的数据库文件附加进去。这样,Delphi应用程序才能连接它。4、最后,也是最重要的一点是:如何让安装程序实现数据库的“自动注册”? (一般人我不告诉他,嘿嘿)
      

  2.   

    作为商品化的应用软件,你不可能让用户自己去打开“企业管理器”,然后将你的数据库文件附加进去吧?
    事实上普通用户也不可能懂得如何去做。所以必须让你的安装程序实现数据库的“自动注册”。秘密就是:使用SQL Server 中OSQL 工具 。点到为止,自己去研究研究。
      

  3.   

    用不着那么费劲,用WinRAR压缩成可执行文件,完成后执行一个你自己附加数据库、写注册表之类操作的程序就OK了,非要整个好看的界面的话,也可以用installshield安装完之后执行你的程序就行了。这有啥神秘的,用SQL附加数据库的例子网上就能找到,忘记具体步骤了,原来弄过,先找一下设备看有没有同名的数据库,有的话先删除,再附加,几句SQL就可以搞定了。研究installshield的成本,要远远高过写个小程序来得实在,而且这个程序可以反复使用啊。