Yashan DB 应用开发

embedded/2025/3/15 2:36:50/

一、YashanDB支持的驱动

YashanDB支持多种驱动,包括JDBC、C、Python、ADO.NET、ODBC等。以下是详细介绍:


1.JDBC驱动

• 定义:JDBC是Java连接数据库的技术统称。Java语言只提供规范(接口),规定数据库操作方法。

• 实现:YashanDB根据Java的JDBC规范(接口),完成具体的实现驱动代码(jar包)。

• 使用方式:

1. 通过`java.sql.*`包加载JDBC接口。

2. 使用`DriverManager`获取连接。

3. 使用`Connection`对象执行SQL语句。

4. 使用`Statement`、`PreparedStatement`或`CallableStatement`发送SQL语句。

5. 使用`ResultSet`接收查询结果。


2.Python驱动

• 定义:YashanDB的Python驱动是一个支持Python DB API协议的Python拓展模块(yaspy),使Python应用程序可以直接连接YashanDB数据库

• 模块内容:

• `yaspy.connect()`:创建数据库连接的构造函数。

• `Globals`:模块中定义的变量。

• `Connection`:Python应用程序到数据库的连接对象。

• `Cursor`:连接数据库后创建的游标对象。

• 使用方式:

1. 安装驱动包:`pip3 install yaspy-<version>-cp36-cp36m-linux_x86_64.whl`。

2. 引入驱动模块。

3. 获取连接。

4. 获取游标。

5. 执行SQL语句。

6. 关闭资源。


3.ODBC驱动

• 定义:ODBC(Open Database Connectivity,开放数据库互连)提供了一种标准的API方法来访问数据库,利用SQL完成大部分任务。

• 标准内容:

• ODBC函数调用库,用于连接数据源、执行SQL命令并检索结果。

• 基于SQL-99规范的SQL语法。

• 一套标准的错误码。

• 一套连接并登录到数据源的标准方式。

• 对数据类型的标准描述。

• 使用方式:详见官方文档。


---

二、案例:通过JDBC访问YashanDB


1.案例目标


明确JDBC流程,详细讲解使用方法。


2.环境准备

• 开发环境:IDEA开发环境、JDK、JDBC驱动包。

• 数据准备:创建用户、建表、插入数据。


3.核心类和接口

• DriverManager:注册第三方数据库驱动,获取数据库连接。

• Connection:与数据库建立连接,执行CRUD操作。

• Statement/PreparedStatement/CallableStatement:发送SQL语句到数据库

• ResultSet:存储查询结果,需解析获取数据。


4.使用路线

• 静态SQL路线:

• DriverManager→Connection→Statement→Result

• 预编译SQL路线:

• DriverManager→Connection→PreparedStatement→Result

• 执行存储过程:

• DriverManager→Connection→CallableStatement→Result


5.数据插入

1. 注册驱动。

2. 获取连接。

3. 创建`PreparedStatement`并传入SQL语句。

4. 占位符赋值。

5. 执行SQL语句。

6. 关闭资源。


6.数据查询

1. 注册驱动。

2. 获取连接。

3. 创建`PreparedStatement`并传入SQL语句。

4. 占位符赋值。

5. 执行SQL语句并返回结果集。

6. 解析结果集对象。

7. 关闭资源。


---

三、案例:通过Python访问YashanDB


1.环境准备

• 安装Python 3.6.8:`yum -y install python3`。

• 安装YashanDB Python驱动包:`pip3 install yaspy-<version>-cp36-cp36m-linux_x86_64.whl`。


2.功能实现

1. 引入驱动模块。

2. 获取连接。

3. 获取游标。

4. 执行SQL语句。

5. 关闭资源。


---


http://www.ppmy.cn/embedded/172644.html

相关文章

益百分用科技与艾文化深度融合重新定义艾草产业

益百分用科技与艾文化深度融合重新定义艾草产业 益百分是一家致力于用科技赋能艾文化的企业&#xff0c;专注于将现代科技与传统艾草文化相结合&#xff0c;推动艾草产业的创新与发展。通过科技手段&#xff0c;益百分旨在提升艾草产品的品质、生产效率以及用户体验&#xff0…

查询MySQL表占用磁盘大小的方法

最近有个需求需要查询MySQL表所占的体积(磁盘空间)大小,有几个方法记录一下: 1. 使用 INFORMATION_SCHEMA 数据库 这是最常用的方法&#xff0c;可以查询单个表或整个数据库的大小&#xff1a; -- 查询特定表的大小 SELECT table_name AS 表名,ROUND(data_length/1024/1024,…

解决Windows版Redis无法远程连接的问题

&#x1f31f; 解决Windows版Redis无法远程连接的问题 在Windows系统下使用Redis时&#xff0c;很多用户会遇到无法远程连接的问题。尤其是在配置了Redis并尝试通过工具如RedisDesktopManager连接时&#xff0c;可能会报错“Cannot connect to ‘redisconnection’”。今天&am…

自动化测试框架学习总结

视频&#xff1a;hytest - 测试自动化框架_哔哩哔哩_bilibili 资料&#xff1a;hytest 框架 - 白月黑羽 hytest 简介 hytest &#xff08;黑羽test&#xff09;是白月黑羽自己研发的自动化测试框架&#xff0c;它非常适合 做 系统测试 自动化&#xff0c; 而相比之下&#x…

【hot100】实现Trie(前缀树)

一、思路 这题的思路很简单&#xff0c;其实就是一个26叉树&#xff0c;但是这个数不同通过通常的左右节点属性&#xff0c;而是一个数组来存储的&#xff0c;每个数组下标存储下层的数组。其中有以下需要注意的点&#xff1a; 1.private Trie[] children; 这个说明孩子节点是…

软考高级《系统架构设计师》知识点(十三)

系统架构设计 软件架构的概念 一个程序和计算系统软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件&#xff0c;构件的外部可见属性以及它们之间的相互关系。 体系结构并非可运行软件。确切地说&#xff0c;它是一种表达&#xff0c;使软件工程师能够&#xff1a…

《今日AI-人工智能-编程日报》

1. AI行业动态 1.1 Manus通用智能体初成型&#xff0c;开启AIAgent新时代 中泰证券发布研报称&#xff0c;首款通用型AI智能体Manus已问世&#xff0c;能够将复杂任务拆解为可执行的步骤链&#xff0c;并在虚拟环境中灵活调用工具&#xff0c;标志着AI从“Reasoner”走向“Ag…

laravel项目中使用FFMPeg 剪裁视频

# 运行环境需安装的软件 ffmpeg # 安装的扩展 pbmedia/laravel-ffmpeg: ^8.3 # 扩展文档 https://packagist.org/packages/pbmedia/laravel-ffmpeg # 引入的类 use FFMpeg\Coordinate\TimeCode; use FFMpeg\Format\Video\X264; use FFMpeg\Exception\RuntimeException; use …