网站首页 > 技术文章 正文
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等主流数据库。具体使用方法参见这里:
说说通用报表控件
下图展示了查询效果。
猜你喜欢
- 2025-07-21 效率!MacOS下超级好用的Linux虚拟工具:Lima
- 2025-07-21 PL/SQL 杂谈(六)(pl sql教程)
- 2025-07-21 PL/SQL 杂谈(四)(pl/sql语言)
- 2025-07-21 Rocky Linux 9.6重磅发布!新增WSL支持+全量包更新
- 2025-07-21 MyEclipse数据库教程:在MyEclipse中编辑和执行SQL
- 2025-07-21 Java ThreadDump 生成解析(java threadgroup)
- 2024-10-25 oracle查询语句执行计划分析 oracle 查询执行计划
- 2024-10-25 springboot配置oracle数据源 springboot配置jndi数据源
- 2024-10-25 Oracle 数据库、表、方案的逻辑备份与恢复
- 2024-10-25 基于prometheus+grafana体系监控Oracle数据库
你 发表评论:
欢迎- 620℃几个Oracle空值处理函数 oracle处理null值的函数
- 612℃Oracle分析函数之Lag和Lead()使用
- 601℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 597℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 593℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 584℃【数据统计分析】详解Oracle分组函数之CUBE
- 574℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 563℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)