IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> LabVIEW数据库-数据库工具函数 -> 正文阅读

[大数据]LabVIEW数据库-数据库工具函数

数据库属性信息

使用DB Tools List Columns VI返回的字段类型并不是在DBMS中定义的类型,而是被映射为LabVIEW数据库连接工具包支持的六种数据类型中的一种。
在返回的数据表不止一个时,可以使用循环读取每个数据表中各字段的属性信息。

获取数据库及数据表的信息

建立连接,
使用DB Tools List Tables和DB Tools List Columns VI返回数据库中包含的表、数据表中所包含的所有数据字段的属性信息,包括字段名、字段使用数据类型、数据的范围等。
在这里插入图片描述

某个确切数据库的属性需要与数据库对象联系在一起。
LabVIEW中除了支持数据库连接对象、命令对象和记录集对象三种常用ADO之外,还支持命令-记录集,它用于将关系非常密切的ADO记录集和命令集捆绑在一起处理。
LabVIEW数据库连接工具支持的数据库对象及描述。

对象数据类型及创建方式描述
连接(connection)在这里插入图片描述通过对此对象的引用,设置或获取与数据库连接相关的参数信息
命令集(command set)在这里插入图片描述使用该对象执行SQL命令或存储过程返回的参数;通过该对象的引用,设置或获取命令相关的参数信息;数据库连接成功后,使用DB Tools Create Parameterized Query VI创建该对象;使用完该对象后,应使用DB Tools Free Object VI释放资源。
记录集在这里插入图片描述使用该对象操作数据;通过该对象的引用,设置或获取与记录集相关的参数信息;数据库连接成功后,使用DB Tools Execute query VI创建该对象;使用完该对象后,使用DB Tools Free Object VI释放资源
命令记录集(command - recordset )在这里插入图片描述当共同使用记录集和命令集时使用该对象;通过该对象引用,既可以设计记录集参数,也可以设置命令集参数;使用完该对象后,使用DB Tools Free Object VI释放资源

处理数据库事务

数据库事务是指一系列被当成一个逻辑单元执行的操作。这些操作要么就被执行,要么不被执行,是不可分割的整体。

LabVIEW中,DB Tools Database Transaction VI 用于控制数据库事务的执行。
包括开启、提交、撤销。
默认情况下,MySQL是自动提交事务,每次执行一个 SQL 语句时,如果执行成功,就会向数据库自动提交,而不能回滚。如果某一组操作需要在一个事务中,那么需要使用start transaction,一旦rollback或commit就结束当次事务,之后的操作又自动提交。
DDL语句是不能回滚的,并且部分的DDL语句会造成隐式的提交,因此最好事务中不要涉及DDL语句。

在这里插入图片描述

数据库事务常与这个锁机制结合使用,以防事务执行时其他用户也对数据库进行操作,破坏数据的完整性。
并发访问的问题

问题类型说明
脏读事务A往测试表新增了一条数据,而事务B查询测试表时,读到事务A新增了却还未提交的数据。如果事务A回滚,那么事务B读到的数据就是脏数据。
不可复读事务1读取了数据A,事务2更新(update)了数据A,并且事务2进行了提交(commit),接着事务1又读取了数据A,此时事务1两次读到的值不一致。两次读取,中间更新
虚读事务1读取了数据的几行内容,接着事务2插入或删除(insert/delete)了一些数据,并且事务2进行了提交(commit),最后事务1又进行了读取,发现多了(少了)一些内容两次读取,中间插入(或删除)
回滚丢失事务1和事务2同时访问一个数据,事务1先提交,事务2回滚操作,导致事务1的修改丢失
覆盖丢失事务1和事务2同时访问一个数据,事务1先提交,事务2后提交,导致事务1的修改被覆盖

常用数据隔离级别

级别隔离方式脏读不可复读虚读回滚丢失覆盖丢失说明
1混乱-----不启用,事务处理处于混乱状态
2读未提交TTTTF可以读取已经被其他事务修改但未提交的数据;只给数据修改启用锁,读取数据不用
3读已提交FTTTF只能读取已经由其他事务修改且提交的数据;读操作完成后,无须等待它所在的事务结束就解锁数据,写操作则需等它在的事务结束后才解锁数据
4可重复读FFTFF只能读取已由其他事务修改且提交的数据;其他事务不能在当前事务中的读取操作完成前修改数据;非修改数据的操作完成后,无须等待它所在的事务结束就立即解锁数据,而写操作要等它在的事务结束后才解锁数据
5序列化FFFFF只能读取已由其他事务修改且提交的数据;其他事务不能在当前事务中的读取操作完成前修改数据;其他事务不能在当前事务操作结束前在数据表中插入或删除数据记录;所有读写均需要等它所在事务结束后才解锁

T为允许,F为不允许,-为不适用
mysql的默认隔离级别:可重复读
在LabVIEW中,可以通过DB Tools Database Transaction VI指定事务所采用的隔离级别。
在这里插入图片描述

使用文件保存数据

DB Tools Save Recordset To File将数据库记录及数据记录的结构和属性保存至XML或ADTG格式文件中
ADTG是微软的一种二进制文件格式,文件相对较小,用ADTG保存数据的速度比用XML保存快。
保存
在这里插入图片描述
读取
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:41:07  更:2022-10-17 12:41:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 -2025/3/4 8:15:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码