用VB访问远程WinCC数据库SQL Server2005
2010-03-17
最近在用Visual Basic编写访问远程WinCC数据库的程序,碰到了比较棘手的通讯连接问题。本人比较注重通讯,所以在动手之前先看看能不能通讯上,然后再做打算。用过WinCC的人都知道,安装WinCC必须先要安装SQL Server,我用的是V6.2版,其自带的SQL Server是2005。
硬件情况大概如下:2台计算机,1个路由器,组成一个局域网;一台计算机运行WinCC及其SQL Server,作为服务器,另外一台用来运行VB编写的程序,作为客户机。
1. 通讯连接测试
最近忙着弄论文,不想写太多的字,就写个流程吧。
服务器:开启SQL Server所有服务。
客户机:Windows控制面板—>管理工具—>数据源(ODBC)—>用户DSN
添加SQL Server驱动程序—>命名并选择服务器(这里为“主机名\\WinCC“)—>完成 测试数据源—>失败—>郁闷。
2. 查找原因
系统提示[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user ''. The user is not associated with a trusted SQL Server connection.
百度以后再这个地方看到了点解决的眉目:
3. 解决问题——启用以sa登录名为远程身份登录SQL Server 2005 Express
继续百度,那人却在灯火阑珊处。让我找到了她,经过求证效果明显,特转帖过来
在默认情况下,SQL Server 2005 Express是采用集成的Windows安全验证且禁用了sa登录名。为了工作组环境下不使用不方便的Windows集成安全验证,我们要启用SQL Server 2005 Express的混合安全验证,也就是说由SQL Server来验证用户而不是由Windows来验证用户。
(1)使用SQL Server Management Studio Express。
当我们启动SQL Server Management Studio Express时,首先它要连接到我们的SQL Server 2005 Express,我们在安装SQL Server 2005 Express时,默认的实例为SQL Express,服务器名称的组成为:机
器名\\实例名,因此,本例的服务名称为W2K3-C \\SQLEXPRESS(注:安装SQL Server 2005 Express的机器名为W2K3-C)。第一次使用SQL Server Management Studio Express,由于我们必须采用Windows身份验证,这是默认安装时决定的。
a) 设置SQL Server 2005 Express的身份验证方式
b) 设置sa的密码并启用sa登录名
由于我们不知道sa的密码,所以我们须设置一个!不要关闭这个窗口,接着选择左侧的“状态”,默认情况下,sa登录名是禁用的,因此,我们必须启用sa登录名,选择右侧的登录下的“启用”
最后,我们点击窗口下面的“确定”按钮。好了,到此为止,SQL Server 2005 Express服务器已经可以让sa登录了,不过,要重新启动一下,让配置生效
c) 验证sa登录
在身份验证栏选择SQL Server 远程验证用户方式,输入用户名sa和刚刚设置的密码登录,这样应该没问题了。在你的程序中就可以使用conString来访问你的SQLExpress了。
本文出自“步入谷心”163博客,
因篇幅问题不能全部显示,请点此查看更多更全内容