网站首页 > 数据库 / 正文
Oracle
Oracle是甲骨文公司的一款关系型数据库管理系统。它是一款在数据库领域一直处于领先地位的产品,是目前最流行的关系型数据库。目前制造业的信息化系统,比如MES等有很多采用Oracle来存储数据。现在自动化项目也有很多场景下要求将一些生产数据保存到Oracle数据库。满足这种需求的方法有很多,本文我们主要讨论如何通过上位机WINCC系统将数据保存到Oracle。
在WINCC中,如果需要将部分变量数据保存到Oracle数据库,可以使用VBS脚本来实现。但是Oracle不属于微软产品,所以大家首先需要去官网下载Oracle的ODBC驱动。
需要注意的是,WINCC是32位应用,只能安装上图中的X86,32-bit版本。否则会连接失败。下载后的安装非常简单,首先管理员模式下运行cmd,通过cd切换到驱动文件夹。
然后执行命令odbc_install,参见下图所示。
创建数据库并写入数据
然后我们在ORACLE里面创建一个名为“EVENTLOG”的数据表,参见下图所示。
为了便于演示,我们把WINCC对数据库的操作放到一个按钮事件里面。先拖一个按钮到画面上,在鼠标点击事件中输入下面代码:
Sub OnLButtonDown(Byval Item, Byval Flags, Byval x, Byval y)
On Error Resume Next
Dim conn
Dim cmd
Dim dbName
Dim SqlString
Dim valTime
dbName = "Driver={Oracle in instantclient_11_2};pwd=sh;uid=SH;dbq=your db server;"
Set conn=CreateObject("ADODB.Connection")
' 打开数据库
conn.Open dbName
valTime=Now
SqlString="INSERT INTO EVENTLOG VALUES ('"& valTime &"','Motor1','出口压力高');"
Set cmd = CreateObject("ADODB.Command")
With cmd
.ActiveConnection = conn
.CommandTexT = SqlString
End With
cmd.Execute
' 关闭连接
conn.Close
If Err.Number<>0 Then
Msgbox Err.Number & Err.Description & Err.Source
err.clear
End If
End Sub
激活WINCC,点击按钮,就可以看到数据了。
如何查询
通常我们会使用MSFlexGrid来进行查询。但是这种方式使用起来不方便,一方面是样式比较有年代感,其次是需要自己写脚本,另外就是打印和导出也不方便。这里推荐使用我们的通用报表控件。它支持MySQL、SQL Server和Oracle等主流数据库。具体使用方法参见这里:
说说通用报表控件
下图展示了查询效果。
Tags:oracle insert into
猜你喜欢
- 2024-11-26 Oracle中JDBC处理PreparedStatement处理Char问题浅析
- 2024-11-26 基于Percona XtraBackup 实现全备&增量备份与恢复
- 2024-11-26 ORACLE 错误代码及解决办法
- 2024-11-26 了解 Oracle 中单引号与双引号的用法,一篇文章教会你!
- 2024-11-26 分享一个神奇现象--插入数据提示表不存在但却能查到这个表?
- 2024-11-26 MyBatis 批量插入使用 foreach 循环插入的优化,使用分片多线程
- 2024-11-26 oracle: PLSQL概念,关系运算符,顺序结构,分支结构,循环结构
- 2024-11-26 一个空格引发的“惨案“
- 2024-11-26 mybatis+oracle实现批量添加
- 2024-11-26 详解mysql数据库另类实现merge into语法的两种方式