我用delphi7写了一个数据库程序(用来测试的),sql2005的本地数据库程序,不想与服务端连接
 用的是ado接口组件,ado的connectionstring属性为
Provider=SQLOLEDB.1;Password=wxs;Persist Security Info=True;User ID=sa;Initial Catalog=delphi;Data Source=127.0.0.1 这里的数据源我用local ,localhost 和 . 还有本地机器的ip都试过,在目标机器上都不行,吧network library 改成命名管道和多协议,已经共享内存都还是一样会出现下面的错误提示  
下面是程序源代码
query.Close ;
query.SQL.Clear ;
query.sql.Add('select * from dict');
query.Open ;
这个程序在本机运行后可正常执行查询的结果,可是移植到没有安装sql2005的目标机器后,就出现[dbnetlib]connectionopen(connect())sql sever 不存在或被拒绝。这样的提示,我在百度上搜索了大量的资料都未能解决,(听说用installshield打包后可以,未尝试,那个文件太大1g多,补充下,准确的说就是这个程序放到任何一台没有安装mysql服务器的机器上都可以运行就ok,请各位指点迷津,谢谢
我的qq 794780090 msn :[email protected]

解决方案 »

  1.   

    你是连接本地机,没有装SQL的本地机当然是不存在咯。
      

  2.   

    这种情况的话.你需要换数据库呀.用SQL的话,肯定需要安装数库的..
    你可以换成ACCESS..这样.就可以把数据库文件一起COPY走了..不影响..
      

  3.   

    谢谢各位的提示,这样说来非得在目标机器上装个sql服务端才行了,就只能用分发软件分发了,在百度上找了一个installshield的工具,不太会用,有用过的朋友谈下经验吗?小弟学习下
      

  4.   

    用的是ado接口组件,ado的connectionstring属性为
    Provider=SQLOLEDB.1;Password=wxs;Persist Security Info=True;User ID=sa;Initial Catalog=delphi;Data Source=127.0.0.1 这里的数据源我用local ,localhost
    比方说你的这台电脑IP:192.168.1.100()127.0.0.1
    你可以将Data Source=127.0.0.1 修改成192.168.1.100就可以了,再不行的话,你就在
    客户机上安装SQL数据库客户端程序,这样是最好的》》》》》》
      

  5.   

    客户机上不装sqlserver是完全可以访问数据库的 
    sqlserver2000要打sp4补丁
    2005应该不用
    你自己可以从ODBC里试着连下目标服务器
    Data Source你应该填入目标数据库的IP地址
    貌似你这个程序是把connectionstring写死的
    你应该写个配置数据库参数的程序,写ini文件  主程序读取ini加载 connectionstring
      

  6.   

    sqlserver是网络数据库,不在目标机器上装客户端能行吗??我试过用odbc连接过,连不上,后来我用udl文件做连接试过很多方法都不行,真不知道该怎么办了,现在只能用access做了,郁闷,听说连接sql的程序必须要打包,或者在客户机上装服务端才行,还有别的办法吗?
      

  7.   

    对了,我记得sql的数据库文件如果离开了服务器的数据库data那个目录,就算是本地机器有服务端都连接不了,是不是要分离那个数据库 才行?如果分离后,你们master也会继承过来吗?数据库如果设有密码,没有master主库做连接验证?怎么登陆??
      

  8.   

    lz去了解一下msde吧,微软的东西,免费的。
    另外 新版的installshield能够跟MSDE一起发布,不过个人还是喜欢逐个安装:1、先把msde 按照设置好的sa密码安装到本地;2、做一个一次性的、专门用来挂接数据库的小工具,把用户数据库db_attach到刚刚安装的msde中;3、运行installsheild做出来的安装程序,把你的程序安装上,就可以运行了。
      

  9.   

     jenhon 谢谢你的建议,installshield我都还没有弄懂呢?msde就更不敢奢望了,毕竟个人水平有限,不过我会继续努力的,加油
      

  10.   

    下面是我编程是“总结”出来,不给分,下次不帮你了你将这个连接“ado接口组件”的字符串,修改成动态的如下代码即可
    ado的connectionstring属性为
    Provider=SQLOLEDB.1;Password=wxs;Persist Security Info=True;User ID=sa;Initial Catalog=delphi;Data Source=127.0.0.1 
    就是这个127.0.0.1,通过修改获取得到那台安装MSSQL2005电脑的IP地址或者电脑名称都