wincc与SQL Server数据库通讯的方法介绍

wincc和数据库通信的最简单方法是使用VB-Script,主要流程如下:
连接配置—>命令配置—>记录集配置—>管理从数据库返回的数据
对于连接配置需要包含以下参数:

参数描述
数据提供商Provider
数据服务器服务器名称
初始目录要连接的数据库
认证数据库的账户信息

连接配置

常见wincc通信的数据库有SQL Server和Access数据库。
对应连接配置字符串代码模版:

'Sql Server数据库连接配置
con="Provider=SQLOLEDB.1;Data Source=MAWINWINCC;InitialCatalog=SQL_WINCC;Trusted_connection=yes";
'“Trusted_connection”表示连接将通过Windows身份验证完成
'对于SQL身份验证,连接字符串将如下所示:
con="Provider=SQLOLEDB.1;Password=sql_user_Password;Persist Security Info=True;User ID=sql_user;Initial Catalog=SQL_WINCC;
Data Source=MAWIN\WINCC"

命令配置

conn.ConnectionString=con  '链接字符串
conn.Cursorlocation=3      '相当于是adUseClient枚举值,表示用在客户端中
conn.open					'打开链接

记录集配置

ssql="select * from master.dbo.sysdatabases where [name] = '"&DataBaseName&"'"


Set ocom.activeconnection=conn   '配置Command对象,使打开的数据库连接与Command对象关联
ocom.CommandType=1               '可执行的命令文本,如SQL语句
ocom.CommandText=ssql			'关联sql语句
Set ors=ocom.Execute			 '执行command命令

管理从数据库返回的数据

If ors.recordcount>0 Then
   Msgbox DataBaseName&"已经存在,无需创建"
Else
ssql="Create Database "&DataBaseName
ocom.CommandText=ssql
Set ors=ocom.Execute
Msgbox DataBaseName&"创建完毕"

详细代码如下,脚本主要显示的功能是在SQL Server数据库创建数据库。

'与 数据库 通信的最简单方法是使用VB-Script,它基本上需要4个步骤。
'
'连接配置
'命令配置
'记录集配置
'管理从数据库返回的数据
'
'连接配置基本上具有以下参数:
'
'数据提供商 Provider
'数据服务器(服务器名称)
'初始目录(要连接的数据库)
'认证
'
'Provider=SQLOLEDB.1;Data Source=MAWINWINCC;InitialCatalog=SQL_WINCC;Trusted_connection=yes;
'
'“Trusted_connection”表示连接将通过Windows身份验证完成
'
'对于SQL身份验证,连接字符串将如下所示:
'Provider=SQLOLEDB.1;Password=sql_user_Password;Persist Security Info=True;User ID=sql_user;Initial Catalog=SQL_WINCC;Data Source=MAWIN\WINCC
Dim con,conn,ors,ocom,ssqql
'con:建立字符串,conn:建立对象,ors:建立记录对象,ocom:建立命令对象,ssql:sql命令语句
Dim PCName,DataBaseName
PCName=HMIRuntime.Tags("@LocalMachineName").Read ' 读取计算机名
DataBaseName=HMIRuntime.Tags("DataName01").Read  '读取查询数据库的名称
Set conn = CreateObject("ADODB.Connection") '建立对象
Set ors = CreateObject("ADODB.RecordSet")  '建立记录对象
Set ocom = CreateObject("ADODB.Command")   '建立命令对象

con="Provider = SQLOLEDB.1;password = 12345678;user id = sa;Initial Catalog =master;Data Source = " & PCName & "\WINCC" ' 建立字符串

conn.ConnectionString=con  '链接字符串
conn.Cursorlocation=3      '相当于是adUseClient枚举值,表示用在客户端中
conn.open					'打开链接
Msgbox DataBaseName
ssql="select * from master.dbo.sysdatabases where [name] = '"&DataBaseName&"'"


Set ocom.activeconnection=conn   '配置Command对象,使打开的数据库连接与Command对象关联
ocom.CommandType=1               '可执行的命令文本,如SQL语句
ocom.CommandText=ssql			'关联sql语句
Set ors=ocom.Execute			 '执行command命令

If ors.recordcount>0 Then
   Msgbox DataBaseName&"已经存在,无需创建"
Else
ssql="Create Database "&DataBaseName
ocom.CommandText=ssql
Set ors=ocom.Execute
Msgbox DataBaseName&"创建完毕"
End If
Set ors=Nothing
conn.close
Set conn=Nothing
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yue008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值