组态王与Oracle9i数据库的连接

上传人:大米 文档编号:496930044 上传时间:2023-03-14 格式:DOC 页数:12 大小:1.31MB
返回 下载 相关 举报
组态王与Oracle9i数据库的连接_第1页
第1页 / 共12页
组态王与Oracle9i数据库的连接_第2页
第2页 / 共12页
组态王与Oracle9i数据库的连接_第3页
第3页 / 共12页
组态王与Oracle9i数据库的连接_第4页
第4页 / 共12页
组态王与Oracle9i数据库的连接_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《组态王与Oracle9i数据库的连接》由会员分享,可在线阅读,更多相关《组态王与Oracle9i数据库的连接(12页珍藏版)》请在金锄头文库上搜索。

1、组态王与Oracle9i数据库的连接一 Oracl 9i数据库的启动。1.开始-程序-Oracle-oraHome90-Enterprisemanagerconsole2.输入用户名和密码,默认为system manager二 在数据库中创建表格。创建表格和字段三ODBC配置四和组态王的连接1.插入数据(数据库中右键-查看、编辑目录查看记录) 2.创建表格(在kingview所在的system的数据库中创建filename表格。)五数据的查询使用kvadodbgrid控件查询。(刻盘的软件的控件可能会出现找不到表格的问题,如下图)如果看不到表格,请更新控件。在文本框中两个对象上右键,选择复制,

2、粘贴到任意路径即可。六组态王的数据类型与Oracle数据类型的对应关系:整型short,ushortNumber实型floatNumber字符串stringCHAR(注意字符长度,超过长度整条数据无法插入)字符串string VARCHAR2(使用上和char没有区别)字符串string NCHAR(字符串中有中文选择此类型)字符串string NVARCHAR2(使用同nchar)字符串$日期+$时间DATE(存储格式会和组态王显示不同,见下图)字符串stringLONG(后面有对long数据类型的介绍)字符串string RAW (字符串中只能包含数字,否则会错误,无法存储)字符串stri

3、ngLONG RAW(字符串中只能包含数字,否则会错误,无法存储)无法存储ROWID(这个数据好像本身就不是通过sql语句直接存储的)字符串stringBLOB(这个类型比较奇怪,数据库中可以建立此类型,但是查出数据的时候是看不到这个字段的。组态王字符串只能包含数字,否则会出现错误,无法存储。)字符串stringCLOB(和blob类似,字符串变量中可以是任意字符。另外组态王的kvododbgrid控件会查询不到数据)字符串stringNCLOB(使用和clob类似)无法存储BFILE(要求的是file,组态王的数据类型不符合。)无法存储UROWID(这个数据好像本身就不是通过sql语句直接存

4、储的)实型变量FLOATFLOAT说明:1. 在使用表格模板创建表格的时候,选择定长字符串,oraccle会自动生成char类型的数据,选择变长字符串则会生成varchar2类型的数据。2. DATE在组态王的adodbgrid控件中可以正常排序,按条件查询,没有问题。控件中显示的结果和组态王相同,和数据库中的显示不相同。相关命令语言和截图如下:提交查询/Ctrl0.Where=CC to_date(2008/08/14 11:19:05,yyyy/mm/dd hh24:mi:ss);/Ctrl0.FetchData();Ctrl0.Where=ORDER BY CC ASC;Ctrl0.Fe

5、tchData();QueryDialog查询 long aas;aas=Ctrl0.QueryDialog();if(aas=1)Ctrl0.FetchData();Ctrl0.FetchEnd();3. RAWLONG RAW组态王采用字符串数据类型可以存储,其他数据类型无法存储,信息窗口信息见下图附录:1.char varchar varchar2 r nchar nvchar nvchar的区别char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文

6、空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。后面三种数据类型和前面的相比,从名称上看只是多了个字母n,它表示存储的是Unicode数据类型的字符。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较:nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能

7、存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。2.oracle里long类型的总结oracle里long类型的总结(zz)1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。2、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。2、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。3、LONG类型

8、主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。4、很多工具,包括SQL*Plus,处理LONG 数据类型都是很困难的。5、LONG 数据类型的使用中,要受限于磁盘的大小。能够操作 LONG 的 SQL 语句:1、Select语句2、Update语句中的SET语句3、Insert语句中的VALUES语句限制:1、一个表中只能包含一个 LONG 类型的列。2、不能索引LONG类型列。3、不能将含有LONG类型列的表作聚簇。4、不能在SQL*Plus中将LONG类型列的数值插入到另一个表格中,如insert into select。5、不能在SQL*Plus中通

9、过查询其他表的方式来创建LONG类型列,如create table as select。6、不能对LONG类型列加约束条件(NULL、NOT NULL、DEFAULT除外),如:关键字列(PRIMARY KEY)不能是 LONG 数据类型。7、LONG类型列不能用在Select的以下子句中:where、group by、order by,以及带有distinct的select语句中。8、LONG类型列不能用于分布查询。9、PL/SQL过程块的变量不能定义为LONG类型。10、LONG类型列不能被SQL函数所改变,如:substr、instr。3.oracle raw数据类型RAW,类似于CHA

10、R,声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。LONG RAW,类似于LONG,作为数据库列最大存储2G字节的数据,作为变量最大32760字节建表操作:create table raw_test (id number, raw_date raw(10);插入raw数据操作:insert into raw_test values (1, hextoraw(ff);insert into raw_test values (utl_raw.cast_to_raw(051);删除表操作:drop table raw_test;当使用HEXTOR

11、AW时,会把字符串中数据当作16进制数。而使用UTL_RAW.CAST_TO_RAW时,直接把字符串中每个字符的ASCII码存放到RAW类型的字段中.Oracle中RAW和Varchar2常用的两个转换函数 1. UTL_RAW.CAST_TO_RAW 该函数按照缺省字符集(一般为GB2312),将VARCHAR2字符串转换为RAW。insert into cmpp_submit (dest_terminal_id,msg_content) values(13001081371,UTL_RAW.CAST_TO_RAW(您好!);2. UTL_RAW.CAST_TO_VARCHAR2该函数按照缺

12、省字符集合(一般为GB2312),将RAW转换为VARCHAR2。select UTL_RAW.CAST_TO_VARCHAR2(msg_content) from cmpp_deliver;4.LOB 数据类型 LOB(Large Object) 数据类型存储非结构化数据,比如二进制文件,图形文件,或其他外部文件。LOB 可以存储到4G字节大小。数据可以存储到数据库中也可以存储到外部数据文件中。LOB数据的控制通过DBMS_LOB 包实现。BLOB, NCLOB, 和CLOB 数据可以存储到不同的表空间中,BFILE存储在服务器上的外部文件中。LOB数据类型有以下几种: BLOB: 二进制数据 CLOB: 字符型数据 BFILE: 二进制文件其他数据类型ROWID ROWID 数据类型是ORACLE数据表中的一个伪列,它是数据表中每行数据内在的唯一的标识。oracle中的boolean数据类型仅限于PL/SQL,oracle本身没有默认的提供布尔型的存储方式在设计数据库表结构时,选择一种高效的策略来存储一个可以在很多编程环境中使用的逻辑布尔值是非常重要的。(虽然 Oracle 没有 Boolean 数据类型来表示数据库字段,但是在 PL/SQL 中却具有 Boolean 数据类型。)任何布尔定义的字段还应该被正确进行约束检查,以确保在插入/更新时输入了有效的值。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号