S60平台:DBMS API教程——创建与管理数据库

需积分: 0 5 下载量 87 浏览量 更新于2024-08-01 收藏 206KB PDF 举报
本文档详细介绍了在Symbian S60平台上使用DBMS (Database Management System) APIs进行数据库操作的方法和技术。S60平台是诺基亚公司针对移动设备开发的一种操作系统,文档版本为2006年7月3日的2.0版。主要涵盖以下几个关键知识点: 1. **绪论**:文档首先明确了目标,即展示在Symbian系统中如何利用DBMS APIs来管理关系型数据库。这部分强调了APIs在数据库管理系统中的核心作用。 2. **数据库管理结构和元素**:介绍了数据库的创建过程,包括如何初始化数据库和定义基本的数据结构,如表、列和列集。例如,列用于存储数据,列集是一组相关的列,而索引键值则用于提高数据检索效率。 3. **查询计划信息**:讲解了如何获取和分析查询计划,这对于优化查询性能至关重要。 4. **数据库操作**:涉及数据库的打开与关闭、数据插入(特别是处理长列数据)等基本操作。 5. **行集和游标使用**:介绍如何使用行集(用于一次性读取多行数据)和游标(逐行遍历数据)进行高效的数据操作。 6. **SQL语言应用**:在DBMS环境中,展示了如何编写和执行SQL语句,这是与数据库交互的主要方式。 7. **补充操作**:除了基本功能,文档还讨论了可能的扩展和附加操作,如共享数据库管理。 8. **历史版本**:文档更新记录,从1.0版到2.0版,体现了对S60第三版的支持。 9. **版权和免责声明**:强调了文档的版权归属和使用限制,指出信息仅供参考,不保证适用于所有特定场景,且内容可能会在后续版本中更新。 本文档为S60平台开发者提供了全面的指导,帮助他们理解和使用DBMS APIs进行数据库设计、操作和管理,以便在移动设备上实现高效的数据存储和访问。对于想要在Symbian环境中构建数据库应用的开发者来说,这是一个不可或缺的参考资料。

grant execute on dbms_crypto to system; declare input_string VARCHAR2 (200) := 'Secret Message'; output_string VARCHAR2(2000); encrypted_raw RAW(2000); decrypted_raw RAW(2000); num_key_bytes NUMBER := 256/8; key_bytes_raw RAW(32); encryption_type PLS_INTEGER := DBMS_CRYPTO.ENCRYPT_AES256 + DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5; begin DBMS_OUTPUT.PUT_LINE(input_string); key_bytes_raw := DBMS_CRYPTO.RANDOMBYTES(num_key_bytes); encrypted_raw := DBMS_CRYPTO.ENCRYPT ( src => UTL_I18N.STRING_TO_RAW(input_string, 'AL32UTF8'), typ => encryption_type, key => key_bytes_raw ); decrypted_raw := DBMS_CRYPTO.DECRYPT ( src => encrypted_raw, typ => encryption_type, key => key_bytes_raw ); output_string := UTL_I18N.RAW_TO_CHAR(decrypted_raw, 'AL32UTF8'); DBMS_OUTPUT.PUT_LINE(output_string); end; declare l_src_data varchar2(20); l_type pls_integer :=DBMS_CRYPTO.ENCRYPT_AES128 + DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5; l_key varchar2(20) :='0123456789123456'; l_encval raw(2000); CURSOR secret_cursor IS select phonenumber from customer; begin OPEN secret_cursor; LOOP FETCH secret_cursor INTO l_src_data; l_encval :=dbms_crypto.encrypt( src=>utl_i18n.string_to_raw(l_src_data,'AL32UTF8'), typ=>l_type, key=>utl_i18n.string_to_raw(l_key,'AL32UTF8')); DBMS_OUTPUT.PUT_LINE (l_encval); EXIT WHEN secret_cursor%NOTFOUND; END LOOP; CLOSE secret_cursor; end; declare ;_src_data row(100) :=hextoraw("190248129038903853275ijdkvjkad'); l_type pls_integer :=dbms_crypto.encrypt_aes128+ + DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5; l_key varchar2(20) :='0123456789123456'; l_decval raw(200); begin l_decval :=dbms_crypto.decrypt( src=>l_src_data, typ=>l_type, key=>utl_i18n.string_to_raw(l_key,'AL32UTF8')); end; SELECT Price FROM PRODUCT WHERE ProductID = 5;修正这一段代码

2023-05-26 上传