NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

SQLite——只要 3 分钟,你就可以在.NET 上创建和运行它

  • 2008-01-20
  • 本文字数:1628 字

    阅读完需:约 5 分钟

SQLite 是一个开源数据库,现在已变得越来越流行,它的体积很小,被广泛应用于各种不同类型的应用中。

什么是 SQLite?

SQLite 的官方网站上是这样定义 SQLite 的:

SQLite 是一个软件库,用于实现自包含非服务式零配置事务化的 SQL 数据库引擎。
SQLite 是一个嵌入式 SQL 数据库引擎,与其它大多数 SQL 数据库不同的是,SQLite 没有独立的服务进程。SQLite 直接读写原始的磁盘文件,一个拥有多个表、索引、触发器和视图的完整 SQL 数据库就包含在一个独立的磁盘文件中。数据库文件的格式是跨平台的,你可以在 32 位和 64 位系统之间、甚至在 Big-Endian Little-Endian (译者注:这是两种不同的字节排序方式,Big-Endian 是指一个 word 中的高位 Byte 是放在内存 word 区域的低地址处,而 Little-Endian 则与之相反) 两种不同的架构间自由地拷贝数据库,这一特性让 SQLite 成为应用文件格式的一种流行选择。SQLite 不能替代 Oracle ,但可以考虑作为 fopen() 的替代方法。
SQLite 已经是世界上布署得最广泛的 SQL 数据库引擎,被用在无以计数的桌面电脑应用中,还有消费电子设备中,如移动电话、掌上电脑和 MP3 播放器等。SQLite 的源码就放在公有领域(即 WikiPedia 的 public domain ) 中。

SQLite 最早是应用在 Linux 和 OSX 平台上的,但对数据库需求较少的 Windows 应用而言,它是替代 SQL Express 和 Access 数据库运行于.NET 之上的一个可行且实用的选择。

有一篇来自开发者 Mike Duncan 的文章,给出了一个在 3 分钟内就可将 SQLite 安装到.NET 上的指南。这个指南非常有用,读完它你就可以使用一个轻量级的数据库来处理你丢给它的许多任务。

3 分钟的指南

指南是从第一次下载 SQLite 开始的:

尽管你可以通过 SQLite 下载页获得 Windows 的通用库,但我还是打算建议你从 sourceforge 获取 SQLite 的 ADO.NET 2.0 数据提供者,我并不是说它是最高效的版本(它有一个 ADO 包装层以及附带的无用功能),但它确实是一个非常容易上手的版本,可能值得长期使用。

找出 DLL:

将找到的 DLL(System.Data.SQLite.DLL)拷贝到你的项目中,并添加引用。

下载和安装一个 SQLite GUI 工具, SQLiteMan 有一个非常出色的 windows 版本,指南上是这样说的:

我一直在使用的工具名为“SQLite Administrator”(很合适的名字,它是免费的!)有一个“甜点”——有着一个和Query Analyzer 很像的界面。如果你有兴趣的话,可以从这里 http://www.sqlite.org/cvstrac/wiki?p=ManagementTools 找到一个很大的 SQLite GUI 客户端列表。

指南的最后一步就是创建一个 SQLite 数据库:

通过 GUI,创建一个数据库并随意创建一个测试表,就会出现一个以.s3db 为尾缀的单独文件。

一旦 System.Data.SQLite.dll 被引用为.NET 项目的一部分,那就可以像在你的应用顶部写 using System.Data.SQLite 那样容易地使用它。通过使用 ADO.NET 包装层,一个参数化的查询看上去会像是这样:

string lookupValue;<br></br>using (SQLiteCommand cmd = cnn.CreateCommand())<br></br>{<br></br> for (int i = 0; i < 100; i++)<br></br> {<br></br> lookupValue = getSomeLookupValue(i);<br></br> cmd.CommandText = @"UPDATE [Foo] SET [Value] = [Value] + 1<br></br> WHERE [Customer] LIKE '" + lookupValue + "'";<br></br> cmd.ExecuteNonQuery();<p> }</p><br></br>}

数据提供者

SQLite 已经实实在在地影响到.NET 的开发,已经有很多数据提供器被用于流行的对像关系映射(O/RM, 即 Object-Relational Mapper)框架中。

LINQ 提供器允许.NET 3.5 的开发者们利用新 LINQ 框架的优势,并以 SQLite 作为后端数据存储。

SQLite 可以作为替代 Access 或 SQL Express 让数据库应用快速创建和运行起来的一个不错选择,而且因为数据库还可以同时在 Linux 和 Mac OSX 平台上使用,所以创建一个可以跨平台使用的数据库应用很容易。

查看英文原文 Up and Running with SQLite on .NET in 3 Minutes

2008-01-20 05:1819610
用户头像

发布了 90 篇内容, 共 12.8 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

Python异常的这些知识点你都get到了吗?

老猿Python

Python 编程语言 异常处理

连续三年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开

阿里巴巴云原生

容器 运维 云原生 k8s 边缘计算

软件 IT 专业的高校大学生创新创业问卷调查

五分钟学大数据

问卷调查

FusionInsight MRS:你的大数据“管家”

华为云开发者联盟

大数据 数据湖 云原生 华为云 FusionInsight MRS

Java中&、|、&&、||详解

Sakura

4月日更

新疆重点人员管控系统搭建,指挥调度系统开发

如何快速准备高质量的AI数据?

华为云开发者联盟

AI 数据 华为云 modelarts 数据标注

curl使用

Hex

工具

全球案例 | Dropbox: 在 COVID-19 时代通过 Atlassian 为远程工作提供动力

Atlassian

DevOps 敏捷 远程办公 Atlassian Jira

老爷子这代码,看跪了!

why技术

Java

BOE(京东方)亮相数字中国 “三驾马车”加速物联网战略转型

爱极客侠

干货拉满!阿里公开内部P9级架构师(Java)成长路线图,满满的干货

Java架构追梦

Java 阿里巴巴 架构 面试 成长路线

8K视频指的什么?8K视频处理和工作原理分析

科技猫

技术 分辨率 视频 视频处理 8k

使用开源项目必须保留作者姓名?开源软件不能商用?我们需要先学会分辨开源许可证

郭旭东

开源 开源文化

聚力区块链 共建数字中国丨“桂链”平台正式发布并启动全面接入“星火·链网”

浪潮云

云计算

谁说 Java 不能用来跑 Serverless?

张晓辉

Java Serverless Knative Quarkus

如何用iMazing备份恢复贪婪洞窟

懒得勤快

Leveldb解读之二:Read

Jowin

leveldb

应“云”而生的 Java 框架 Quarkus:构建小而快的镜像

张晓辉

Java Docker Serverless CloudNative Quarkus

CloudIDE:为开发者写代码开启“加速”模式

华为云开发者联盟

开发者 代码 华为云 CloudIDE HDC2021

全球案例 | Dropbox: 在 COVID-19 时代通过 Atlassian 为远程工作提供动力

Atlassian

敏捷 Atlassian Jira 远程工作 Dropbox

又有400多个组件支持鸿蒙了!

Geek_283163

华为 鸿蒙

传统行业为什么需要互联网人才

陈俊

6 张图带你彻底搞懂分布式事务 XA 模式

阿里巴巴云原生

Java 数据库 云原生 存储

20年研发安全积累,5大研发安全能力让软件“天生安全”

华为云开发者联盟

DevOps 安全 DevSecOps 华为云 devcloud

低功耗深度休眠后无法唤醒、烧录程序,怎么办?(华大半导体HC32L136)

不脱发的程序猿

嵌入式软件 单片机 4月日更 华大半导体 HC32L136

commons-pool2 池化技术探究

vivo互联网技术

Java common-pool2 池化技术

机器学习训练营第一次作业

学习

【论文分享】Presto: SQL on Everything(二)

小舰

4月日更

BOE(京东方)成都数字医院开诊,投资60亿打造西南智慧医疗创新典范

爱极客侠

德赛西威与华为签署全场景智慧出行生态解决方案合作协议

SQLite——只要3分钟,你就可以在.NET上创建和运行它_.NET_Robert Bazinet_InfoQ精选文章