WinCC数据库SQL访问文档格式.docx
《WinCC数据库SQL访问文档格式.docx》由会员分享,可在线阅读,更多相关《WinCC数据库SQL访问文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
![WinCC数据库SQL访问文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/11/a98a7edb-6cf1-4f4e-8261-65187d8b77b6/a98a7edb-6cf1-4f4e-8261-65187d8b77b61.gif)
图2.选择身份认证方式
图3.WinCC在SQLServer中注册的用户
3.查看ValueID和ValueName的对应关系
图4.查看ValueID和ValueName的对应关系
4.查看组态的消息
图5.查看组态的消息
5.查看归档片段的消息
图6.查看归档片段的消息
6.数据传输服务
图7.选择数据导出服务
图8.选择数据源(与原来的DTS类似)
图9.设置数据源
图10.选择目标地
图11.选择查询并传输
图12.输入查询语句
图13.源和目标列的对应关系
图14.选择立刻执行传输
图15.传输执行前的提示
图16.传输执行结果报告
图17.查看传输结果
7.在Excel中编程利用WinCCOLE-DB访问WinCC数据库
方法及程序同原来的教材,原来的教材的程序同样适用。
8.归档变量设置和归档数据库片段设置和原来版本类似。
(二)有关WinCCV6.2数据库访问的一些背景知识
1.WinCC数据库的变迁:
SybaseAnywhere7(V6.0之前)->
MicrosoftSQLServer2000(V6.0)->
MicrosoftSQLServer2005(V6.2,V7.0)
2.WinCCV6.2开始,慢速归档和快速归档都采用了压缩的方式存储在数据库的相应表中(MicrosoftSQLServer2005之后),访问这些经过压缩的二进制数据块,需要采用独特的OLE–DBprovider——WinCCOLE-DBprovider,而普通的MicrosoftOLE–DBprovider无法读取并解密出WinCC的归档数据。
3.WinCC和WinCCFlexibel项目各自生成一个实例。
所谓的“实例”,就是一个SQLServer数据库引擎。
SQLServer支持在同一台计算机上同时运行多个SQLServer数据库引擎实例,每个SQLServer数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。
各实例的运行是独立的,一个实例的运行不会受其他实例运行的影响,也不会影响其他实例的运行。
在一台计算机上安装多个SQLServer实例,就相当于把这台计算机模拟成多个数据库服务器,而且这些模拟的数据库服务器是独立且同时运行的。
4.WinCC归档变量的时间采用通用协调时(UTC,UniversalTimeCoordinated)时间,滞后北京时间8小时,所以得到归档数据后,时间需要做调整。
例如在VB中可以使用DateAdd函数来进行转换。
5.ODBC是曾经的数据库通信标准;
在组件/对象盛行的大趋势下,微软打算用OLE-DB来取代ODBC;
ADO是简单的应用程序层面的数据库访问方法,构建在OLE-DB之上。
ODBC(OpenDatabaseConnectivity)是一个数据库访问的标准接口。
ODBC能够动态装载各个数据库的CLI,并把对ODBC的调用转换为CLI调用。
通过这一标准的接口,开发者就可以不必关心具体的数据库管理系统(DBMS)的实现细节。
只要相应类型数据库提供了ODBC驱动程序,就可以同过ODBC来实现对数据库的访问。
至此,数据库应用程序就独立于具体的数据库管理系统了。
MicrosoftCOM技术发展起来以后,微软提出了OLE-DB(ObjectLinking&
EmbeddingforDatabase)。
OLE-DB是一个COM接口,并且需要每个数据库都提供自己的Provider(也就是类似于CLI的数据库调用方法或驱动)。
所以,OLE-DB可以看做COM技术下的数据库访问的API函数。
WinCC选件Connectivitypack不是一个或一组应用程序,而是一组接口,不是面向最终用户,而主要是为WinCC数据库应用开发者提供不同的方法。
主要包括了OLE-DB,OPCXML,OPCHAD和OPCA&
E。
MicrosoftSQLServer提供了许多Provider,为什么还要选WinCCProvider?
原因如下:
A、只有使用制造商自己的Provider,才能访问加密的或者和SQL不兼容的数据。
WinCC的过程值归档数据库就是经过压缩的,只有WinCCOLE-DB才能够解压这些数据。
B、WinCC运行数据并不是存在一个数据库中,而是分散在多个小数据库当中,使用WinCCOLE-DB能够透明地访问这些归档数据,而不需要考虑其数据库存储方式的复杂性。
图18.SQLServer本身提供了很多Provider
6.SQLServer2005是微软推出的综合、集成的数据平台,是一种进行数据管理和数据分析的数据解决方案。
与SQLServer2000最大的区别是,SQLServer2005超越传统意义上的数据库管理系统,已经发展成为“用于大规模联机事物处理、数据仓库和电子商务应用的数据库和数据分析平台”。
SQLServer2005的数据管理和数据分析功能是通过一些的组件来提供的,安装后将集中体现在相应的服务以及管理工具和开发工具中。
因此,应该对这些组件和工具有一个大概的了解。
-SQLServer数据库引擎:
数据库引擎是SQLServer2005的核心组件,其基本功能是实现数据的存储、处理和保护,此外还包括复制、全文搜索以及用于管理关系数据和XML数据的工具。
-分析服务(AnalysisServices):
分析服务包括用于创建和管理联机分析处理(OLAP)以及数据挖掘应用程序的工具。
通过OLAP可以实现对多维、复杂的海量数据进行快速的高级分析;
通过数据挖掘可以从海量数据中发现意想不到的“惊人”发现,以供决策支持。
-报表服务(ReportingServices):
报表服务是提供全面报表决策方案的服务器和客户端组件,可用于创建、管理和部署各种类型的报表,包括表格报表、矩阵报表、图形报表以及自由格式报表等。
-通知服务(NotificationServices):
通知服务是一个信息发布平台,用于向各连接用户和连接设备发布个性化、及时的信息更新。
-集成服务(IntegrationServices):
集成服务是对SQLServer2000数据转换服务(DTS)、数据导入\导出功能的扩充,形成了用于数据移动、复制和转换的图形工具和可编程对象。
-连接组件:
连接组件属于客户端组件,用于实现客户端和服务器之间的通信。
此外,还用于DB-library、ODBC和OLEDB的网络库。
-管理工具和开发工具:
为实现对SQLServer的利用和开发,SQLServer2005提供了两种类型的工具:
管理工具和开发工具。
SQLServer2005包含如下的管理工具:
A.SQLServerManagementStudio(SSMS)
SSMS是SQLServer2005新增加的组件,它是对SQLServer2000查询分析器、企业管理器和分析管理器功能的集成和扩充,形成了用于访问、配置、管理和开发SQLServer的所有组件的集成环境。
B.SQLServer配置管理器
SQLServer配置管理器主要用于为SQLServer服务、服务器协议、客户端协议和客户端别名提供基本配置管理。
此外,SQLServer2005管理工具还包括SQLServerProfiler、数据库引擎优化顾问等,它们分别用于监视数据库引擎实例或AnalysisServices实例和协助创建索引、索引视图和分区的最佳组合。
SQLServer2005开发工具主要是BusinessIntelligenceDevelopmentStudio(BIDS),它们是分析服务、报表服务和集成服务解决方案的集成开发环境。
7.关于SQL数据库,它是由数据库文件(Database
File)和事务日志文件(Transaction
Log
File)组成的。
两者密不可分,所以在做数据备份时,都要同时选择备份:
-扩展名.ldf是SQL数据库的事务处理记录日志文件(SQL
Server
Database
Transaction
File),用于记录SQL数据库所有事务,以及每个事务对数据库所做的修改和更新情况的文件,包含恢复数据库中的所有事务所需的记录信息。
事务日志是SQL数据库的一个重要组件,如果系统出现故障,它将成为最新数据的唯一来源。
所以,事务日志文件及其重要。
-扩展名.mdf是SQL数据库的主数据记录文件(SQL
Primary
Data
File),用于存储SQL数据库的启动信息和部分或全部数据。
VB编程wincc用vb脚本写自定义的sql数据库问题减小字体增大字体作者:
佚名来源:
本站整理发布时间:
2009-05-2520:
02:
58
我想用一个按钮的动作脚本连接sql,然后用全局脚本周期性写变量值到sql,然后用另一个按钮动作脚本断开sql连接。
这样能用vb脚本实现吗?
因为连接sql的脚本里面有个对象objConnection,如下代码:
strConnectionString="
Driver={SQLServer};
Server=.\WINCC;
uid=;
pass=;
database=guowincc"
SetobjConnection=CreateObject("
ADODB.Connection"
)
objConnection.ConnectionString=strConnectionString
objConnection.open
而insert语句需要用到objConnection这个对象:
strSql="
insertintotestwinccvalues('
NewTag1_inter'
'
"
&
nowTime&
"
'
"
lngValue&
);
SetobjCommand=CreateObject("
ADODB.Command"
)