好头痛,关于数据库连接的问题,各位朋友来看看(50分)

  • 主题发起人 主题发起人 devecom
  • 开始时间 开始时间
D

devecom

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi 6做的程序,用ADO连接SQL Server 2000
为什么会出现这样的问题?
一定要通过网上邻居访问一下数据库服务器,或者在ODBC数据源建一个和Server name一样
的别名,或者机器的密码和服务器的密码一样,才能连得上?我在SQL Server 的服务端网
络实用工具里面把命名管道的协议(默认是
这个,但是连不上)删除了,通过Tcp/IP连接,可还是连接不上,这是什么原因啊?
相信这里的很多朋友都做过类似的程序吧?
我总不能要客户用程序的时候先访问一下服务器吧?那有什么安全性可言?并且还这么麻烦。

在线等待答案,谢谢!
 
up
:( 我也遇到过,等待解决
 
怎么没人看吗?

这里很多人都是用这种结构做程序吧?
 
这应该是你网络的问题,首先你的服务器和客户端要安装netbeui协议,你可以在客户机上
运行//服务器名,看看能不能访问到服务器。
另外如果你的数据库服务器是城服务器的话,最好是把客户机都加入到这个域中,还有就是
客户机的IP网段要和服务器的IP网段相同,如都是192.168.x.x。
试试吧,祝你好运!
 
在服务器上建一个与客户端登录一样的帐户
 
to zm30:
netbeui协议装了,//服务器名 当然可以访问,访问后程序可以运行,没有访问不能运行。
服务器和客户机都在同一个网段。可就是不行。一定要采取那3种办法中的一种。
to hbwanghua,:
这样不大现实吧?你的程序卖给别人,还叫别人在人家服务器上建一个相同的帐号。

 
ip网段和服务器网段好象不用相同,192.168.x.x是局域网的内部网段,出去后还是会转成广域
网段的,所以这个应该不是根本原因。netbeui也不是根本原因吧。
sql基于tcp/ip已经足够了。
客户端连不上,你用sql的查询分析器看看连不连的上,他跟客户端有些区别的。
试了在讨论。
 
to christin,:
客户机网段和服务器网段是不需要相同。
我刚刚测试了一下,发现了一个这样的情况:
服务器我启用了命名管道协议(默认),
客户机ADO版本为2.6
客户机默认的sql server连接是命名管道,所以一直连接不上,但我把它改成TCP/IP就可以
了(在ODBC数据源里面建立sql server别名的时候可以选择),
但是机器默认的sql server通讯协议却是命名管道,所以一直连不上。这个问题怎么办呢?
总不能程序发下去,告诉客户,请把控制面板中ODBC数据源SQL Server通讯协议改成TCP/IP
... ?
 
用ADO连接不用ODBC数据源的啊
 
是不用,但是要在那个地方设置 和SQL Server的通讯协议
如果装了SQl Server 2000连接工具在开始菜单就有了,不用到那去找
 
哦,这样我就明白了,不好意思,刚才不清楚情况。
没客户端的话那你就要编程序重写windows的hosts文件了,以文本打开该文件,
象配置阿帕奇那样配置就应该可以了。你可以试试行不行。
 
一般打了 ado2.6就没问题

否则只有手工设置了
 
后退
顶部