欢迎光临散文网 会员登陆 & 注册

VBS读取WINCC变量归档-归档数据库连接

2023-05-23 20:35 作者:工控小周  | 我要投稿

今天介绍一下WINCC归档数据库方面的内容:

博途WINCC微信群:15961872327

博途WINCC微信群:15961872327

3、连接变量归档数据库

3.1     ADO Connection 对象

    3.1.1简介

    ADO Connection 对象用于创建一个到达某个数据源的开放连接。通过此连接,您可以对一个数据库进行访问和操作。

如果需要多次访问某个数据库,您应当使用 Connection 对象来建立一个连接。您也可以经由一个 Command 或 Recordset 对象传递一个连接字符串来创建某个连接。不过,此类连接仅仅适合一次具体的简单的查询。

以下属性、方法、事件、集合资料来自http://www.w3school.com.cn,由于W3School里面的资料好像主要针对网页开发的,可能部分属性(方法等)不适合VBS,能测试的,我尽量测试一下,不能测试,可能我也不会的就不再测试,请见谅。

3.1.2属性


属性

描述

Attributes

设置或返回 Connection 对象的属性。

CommandTimeout

指示在终止尝试和产生错误之前执行命令期间需等待的时间。

ConnectionString

设置或返回用于建立连接数据源的细节信息。

ConnectionTimeout

指示在终止尝试和产生错误前建立连接期间所等待的时间。

CursorLocation

设置或返回游标服务的位置。

DefaultDatabase

指示 Connection 对象的默认数据库。

IsolationLevel

指示 Connection 对象的隔离级别。

Mode

设置或返回 provider 的访问权限。

Provider

设置或返回 Connection 对象提供者的名称。

State

返回一个描述连接是打开还是关闭的值。

Version

返回 ADO 的版本号。

表格1

使用State属性可以查看数据源连接的状态。返回值如下:

常数

描述

adStateClosed

0

对象已关闭。

adStateOpen

1

对象已打开。

adStateConnecting

2

对象正在连接。

adStateExecuting

4

对象正在执行命令。

adStateFetching

8

正在检索对象的行。

表格2

唉悲剧了,从网上看到使用State属性可以看到数据库连接是不是已经打开,可是我不管怎么测试,只要用了open方法,该属性就等于1,应该是使用WinCCOLEDBProvider的原因,等待以后再测试连接SQL的吧….

图5

图中看出只设置了Provider属性,其他的都是空,State属性值竟然也等于1,跳过…..

ADO Connection测试如下:

图6

测试图可以看出State属性目前等于1,就是连接已经打开

 

3.1.3方法


方法

描述

BeginTrans

开始一个新事务。

Cancel

取消一次执行。

Close

关闭一个连接。

CommitTrans

保存任何更改并结束当前事务。

Execute

执行查询、SQL 语句、存储过程或  provider 具体文本。

Open

打开一个连接。

OpenSchema

从 provider 返回有关数据源的 schema 信息。

RollbackTrans

取消当前事务中所作的任何更改并结束事务。

表格3

一般用到的方法OpenClose Execute这三个,其他的的具体作用我也不是很了解了。

 

3.1.4事件

这个功能临时也用不到,只做参考

事件

描述

BeginTransComplete

在  BeginTrans 操作之后被触发。

CommitTransComplete

在  CommitTrans 操作之后被触发。

ConnectComplete

在一个连接开始后被触发。

Disconnect

在一个连接结束之后被触发。

ExecuteComplete

在一条命令执行完毕后被触发。

InfoMessage

假如在一个  ConnectionEvent 操作过程中警告发生,则触发该事件。

RollbackTransComplete

在  RollbackTrans 操作之后被触发。

WillConnect

在一个连接开始之前被触发。

WillExecute

在一条命令被执行之前被触发

表格4

3.1.5集合

集合

描述

Errors

包含 Connection 对象的所有 Error 对象。

Properties

包含 Connection 对象的所有 Property 对象

表格5

该集合的使用方法暂时不会…

3.2 数据库连接方法

3.2.1创建对象

Dim conn

Set conn =CreateObject("ADODB.Connection")

3.2.2 设置ConnectionString属性

ConnectionString 属性可设置或返回用于建立到数据源的连接的信息。

ConnectionString 属性w3school和手册上的不太一样,以手册为准,其实通过图6也能看出来他完整的参数:

参数

描述

Provider

用于连接的提供者的名称。

Catalog

WinCC 数据库的名称

如果使用 WinCC  RT 数据库,则将采用以“R”为结尾的数据库名称  <Datenbankname_R>。也可使用数据库“CC_ExternalBrowsing”。如果已经通过 WinCC 归档连接器将换出的 WinCC 归档连接到 SQL Server,请使用它们的符号名称。

注释

对于透明访问,为“Catalog”输入 WinCC 项目名称;例如:“Catalog=WinCC_Project_Name”。

注释

如果通过“CC_ExternalBrowsing”访问消息归档或换出的归档,则该访问可能需要数分钟的时间。

可以通过脚本直接读取@DatasourceNameRT变量的值来设置该属性

Data Source

服务器名称

本地:“.\WinCC”或者“<计算机名称>\WinCC”

远程:“<计算机名称>\WinCC”

注释

为中央归档服务器输入透明访问,如果是冗余服务器,则通过 OLE DB 提供程序为“Data Source”输入以下内容:<符号计算机名称>::\WinCC。

注释

使用归档变量名称可在中央归档服务器 CAS 上直接访问归档变量。 中央归档服务器 CAS 将 CAS-ID 而不是归档变量 ID 作为 ID 返回: <符号计算机名称>\\<Achive_Var_Name>

在脚本里面可以直接读取变量@Servename

表格6

注释:您不能同时使用 Provider 和 File Name 参数。

在WinCCV7.4:使用 WinCC 系统手册 49页也有相关介绍

3.2 连接归档数据库

脚本参考手册里面的脚本,完整脚本如下:


图7

这一步连接数据库的脚本还是比较简单的,而且上方的脚本可以直接拿来就用


VBS读取WINCC变量归档-归档数据库连接的评论 (共 条)

分享到微博请遵守国家法律