[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问

wangzhengcun 2008-11-25 08:29:49
用vb开发了一个小程序,在A机器(2000系统上运行正常). 在B机器上(XP系统),主登录介界下的组合框下的值取数据库中的数正常,可是,在点确定按钮时就出现[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问,然后本程序死掉.
请问这是怎么回事?为什么Win2000好使?
主要源码:
Option Explicit
Dim sql As String
Dim str As String
Dim sql1 As String
Dim i As Integer
Dim Cn As New ADODB.Connection
Dim Rs As New ADODB.Recordset

Private Sub Form_Load()
Cn.ConnectionString = "Provider=SQLOLEDB.1;Password=83152003;Persist Security Info=True;User ID=sa;Initial Catalog=Mroom;Data Source=10.65.128.156"

sql = "select name from Muser "
Rs.CursorLocation = adUseClient
Rs.Open sql, Cn, adOpenDynamic, adLockPessimistic
Rs.MoveFirst
For i = 0 To Rs.RecordCount - 1
Cb1.AddItem (Rs.Fields("name"))
Rs.MoveNext
Next
Rs.MovePrevious
Cb1.Text = Rs.Fields("name")
End Sub
Private Sub Command1_Click()
main.StatusBar1.Panels(4).Text = Cb1.Text
Dim Cn1 As New ADODB.Connection
Dim Rs1 As New ADODB.Recordset
Cn1.ConnectionString = "Provider=SQLOLEDB.1;Password=83152003;Persist Security Info=True;User ID=sa;Initial Catalog=Mroom;Data Source=10.65.128.156"
Cn1.Open
sql1 = "select * from muser where name='" & Trim(Cb1.Text) & "'"
Rs1.CursorLocation = adUseClient
Rs1.Open sql1, Cn1, adOpenDynamic, adLockPessimistic

If Rs1.RecordCount = 0 Then
MsgBox "无此用户,请重新选择!", vbOKOnly
Else
If Trim(Text2.Text) = Trim(Rs1.Fields("password")) Then
If Rs1.Fields("authority") = 1 Then
Load backmanager
backmanager.Show
Unload Me
Else
Load main
main.Show
Unload Me
End If
Else
MsgBox "用户名或密码不对,请重新输入!", vbOKOnly, "警告"
Cb1.SetFocus
End If
End If
End Sub
...全文
842 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangzhengcun 2008-11-26
  • 打赏
  • 举报
回复
直接绑定可以节约代码,提高程序执行效率
T315608 2008-11-26
  • 打赏
  • 举报
回复
一般不建议用控件进行绑定数据源
wangzhengcun 2008-11-26
  • 打赏
  • 举报
回复
谢谢各位,其实问题出在连接字符串上。
我是在Win2000系统上开发的,当是在backmanager窗体上加了一个adodc控件,和很多的text控件,而且邦定了数据库,但是在adodc的"连接"符中忘记了改SQL的服务器地址了,故,在别的机器上(SQL服务器也在此机上),无法连成功
lsftest 2008-11-25
  • 打赏
  • 举报
回复
先在有问题的机子里用excel或其它的工具看看能不能读出数据来。
另外,除非基于安全考虑,否则似乎没有必要在formload和command1click的时候重复查询,一次把用户名、密码东西都读出来就行了。。还有,用完的时候注意释放。在你的formload事件中我就看不到有释放的动作。
Tiger_Zhao 2008-11-25
  • 打赏
  • 举报
回复
Win2000 和 WinXP 关于安全性方面的差异比较大,你的 SQL Server 可能用来混合安全方式,除了用 sa 数据库用户还会用当前的 Windows 用户进行验证,这样两个操作系统会有明显差异。而配置 ODBC 时可以指定仅使用数据库用户进行验证,建议试试。

只用同一个 cn 对象就可以了。
wangzhengcun 2008-11-25
  • 打赏
  • 举报
回复
现在主要是有的机器上好使,有的机器上不好使,怎么回事呀?
这段代码怎么简化为1个connection?
Tiger_Zhao 2008-11-25
  • 打赏
  • 举报
回复
同一个画面为什么要用两个 Connection?
建议使用 ODBC 的连接方式而不是 SQLOLEDB 方式。
jhone99 2008-11-25
  • 打赏
  • 举报
回复
127.0.0.1
这个不好
好像很多设备默认这个,容易冲突
aohan 2008-11-25
  • 打赏
  • 举报
回复
If Trim(Text2.Text) = Trim(Rs1.Fields("password") & "") 试试

有可能是你那个密码为空了,所以报错
wangzhengcun 2008-11-25
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Cn.ConnectionString = "Provider=SQLOLEDB.1;Password=83152003;Persist Security Info=True;User ID=sa;Initial Catalog=Mroom;Data Source=10.65.128.156"

sql = "select name from Muser "
Rs.CursorLocation = adUseClient
Rs.Open sql, Cn, adOpenDynamic, adLockPessimistic
Rs.MoveFirst
For i = 0 To Rs.RecordCount - 1
Cb1.AddItem (Rs.Fields("name"))
Rs.MoveNext
Next
Rs.MovePrevious
Cb1.Text = Rs.Fields("name")
End Sub
这段代码执成功了,可以证明网络及SQL server 没有问关,主要是在:
If Trim(Text2.Text) = Trim(Rs1.Fields("password")) 这段代码这里程序死掉,感觉rs1.fields("password")这里出错,但为什么有的机器上可用呢!另外说明一下,我的服务器IP均改为127.0.0.1了
jhone99 2008-11-25
  • 打赏
  • 举报
回复
网络连接没有问题?
sql server的引擎在xp那台电脑是否正常?
内容概要:本文聚焦于氢燃料电池极化曲线参数的辨识与性能评估,采用人工蜂群算法(ABC)结合Matlab编程实现。研究基于Amphlett半经验模型构建质子交换膜燃料电池(PEMFC)的极化特性模型,通过优化算法对模型中的高维非线性参数进行全局辨识,旨在精确还原燃料电池的实际输出电压-电流关系。文中系统分析了人工蜂群算法在参数反演过程中的收敛性、敏感性与可辨识性,验证了其在多参数耦合、强非线性系统建模中的优越性能。同时,通过对辨识后的模型进行多维度性能评估,如残差分析、拟合优度检验与工况适应性测试,全面衡量模型精度与实用性,为燃料电池系统的设计、控制与优化提供可靠的理论依据与数据支撑。; 适合人群:具备一定Matlab编程基础,从事新能源、燃料电池、系统建模或智能优化算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握基于智能优化算法的复杂电化学系统参数辨识方法;② 学习利用Amphlett等半经验模型进行PEMFC建模与仿真;③ 理解人工蜂群算法在解决高维非线性优化问题中的应用技巧与性能分析方法;④ 实现燃料电池性能的精确评估与预测。; 阅读建议:本资源以Matlab代码实现为核心,强调算法应用与实践操作。学习者应在掌握基本电化学原理和优化算法概念的基础上,结合提供的代码进行调试与仿真,重点关注目标函数的构建、参数初始化范围的设定以及算法收敛过程的可视化分析,以深入理解参数辨识的内在机理。

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧