mips平台使用jdbc操作sqlite的最终解决方案
1、概述:
本项目需要在多平台上(mips必须支持)操作嵌入式数据库sqlite,而最新的sqlite-jdbc-3.15.1.jar的本地驱动只含有少量的平台,于是解决支持mips平台实在必行。方法有多,具体如下。
1.1 SQLite三种JDBC驱动的区别
摘自http://blog.sina.com.cn/s/blog_654337ca01016x4n.html
在DBeaver中看到SQLite有三种JDBC驱动,查了它们官方网站的相关解释,发现它们还是挺不一样的。
1.2 SQLite Xerial Driver 驱动
- 方法1:mips上也使用本地库,下载源代码编译即可。不过编译很费劲,对于不可以联网的单位工作机,根本行不通。
源代码下载地址
- 方法2:使用jdbc的jdbc-odbc桥方式。
第一步:加载驱动(作用是把需要的驱动程序加入内存)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
第二步:得到连接(指定连接到哪个数据源),如果配置数据源时选择的是Windows NT验证方式,则不需写出用户名和密码
Connection ct=DriverManager.getConnection("jdbc:odbc:simpledb")如果有用户名和密码,则在数据源之后写出。
jdk从1.8开始,删除了jdbc-odbc桥,所以odbc的驱动是用不了的,建议重新安装jdk1.7或者更低的版本。此方案行得通,不过强烈要求jdk版本低于1.7或者更低版本,不利于jdk的升级。
摘自http://blog.csdn.net/u011502222/article/details/44234103 (文章标题为java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver解决方法!)
JDK7 和 JDK8 貌似都不支持 JDBC-ODBC 桥连,所以最好下个版本 6
摘自 http://wenku.baidu.com/link?url=Tz8acJQlGCGQgejp7D4DJ0o_54AcohTmGm2c47Cy7X3y1nrLwyIap4pIuHnaVB_01WlFlTQ12NoHKidcwmNLYvKasEEhgqgI-WjVOg1C0xK (文章标题为JDBC-ODBC桥连access教程)
- 方法3: 使用纯java的SQLite(Applies to versions before 3.7.15)不包含3.7.15
sqlite-jdbc-3.7.2.jar的下载地址
http://www.java2s.com/Code/Jar/s/Downloadsqlitejdbc372jar.htm本项目的sqlite-jdbc-3.7.2.jar是从此链接下载的,因为下边的链接资源不畅通。
https://bitbucket.org/xerial/sqlite-jdbc/downloads?tab=tags
2、sqlite-jdbc-3.15.1.jar Supported Operating Systems
摘自https://bitbucket.org/xerial/sqlite-jdbc
Since sqlite-jdbc-3.6.19, the natively compiled SQLite engines will be used for the following operating systems:
- Windows XP, Vista (Windows, x86 architecture, x86_64)
- Mac OS X 10.4 (Tiger), 10.5(Leopard), 10.6 SnowLeopard (for i386, x86_64, Intel CPU machines)
- Linux i386 (Intel), amd64 (64-bit X86 Intel processor)
In the other OSs not listed above, the pure-java SQLite is used. (Applies to versions before 3.7.15)
If you want to use the native library for your OS, [build the source from scratch.编译很麻烦,且跨平台性不好,到另一平台需要继续重新编译
3、JDBC 连接 使用sqlite-jdbc-3.7.2.jar操作数据库报错:java.sql.SQLException: out of memory,解决方案参考接下来的详细描述。
java sqlite out of memory异常
摘自http://www.cnblogs.com/cnryb/archive/2012/06/13/2548445.html
今天用sqlite写点东西eclips给我了这个东西
out of memory
java.sql.SQLException: out of memory
at org.sqlite.DB.throwex(DB.java:252)
at org.sqlite.NestedDB.open(NestedDB.java:47)
at org.sqlite.Conn.<init>(Conn.java:36)
at org.sqlite.JDBC.connect(JDBC.java:38)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.loveoop.sqlite.Test.main(Test.java:19)
原因:目录结构中存在中文,
解决方案:把中文修改为英文~~~~。
Good luck!!
mips平台使用jdbc操作sqlite的最终解决方案的更多相关文章
- Java操作Sqlite数据库-jdbc连接
Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...
- [Sqlite]-->Java采用jdbc联系Sqlite各种特定的工艺数据库的数据操作
引: 1, Sqlite在Windows.Linux 和 Mac OS X 上的安装过程 2.嵌入式数据库的安装.建库.建表.更新表结构以及数据导入导出等等具体过程记录 3,嵌 ...
- JDBC访问及操作SQLite数据库
SQLite 是一个开源的嵌入式关系数据库,其特点是高度便携.使用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下,只要确保SQLite的二进 ...
- UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库
在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...
- Spring JDBC Framework详解——批量JDBC操作、ORM映射
转自:https://blog.csdn.net/yuyulover/article/details/5826948 一.spring JDBC 概述 Spring 提供了一个强有力的模板类JdbcT ...
- 如何C#操作SQLite数据库
或许有人之前在java开发中使用过SQLite,对它有些印象.在用Winform或Wpf开发小应用程序时,发现用SQLite数据库也是不错的.就像一个会员管理软件,开发完毕后,可以省去想sqlserv ...
- JDBC操作MySQL(crud)
这两天复习了一下JDBC操作MySQL,把crud操作的例子记一下, 类库链接(mysql-connector-java-5.1.37-bin.jar):http://files.cnblogs.co ...
- 使用JDBC操作SAP云平台上的HANA数据库
本文假设您对JDBC(Java Database Connectivity)有最基本的了解.您也可以将其同ADBC(ABAP Database Connectivity)做对比,细节请参考我的博客AD ...
- C#操作SQLite方法实例详解
用 C# 访问 SQLite 入门(1) CC++C#SQLiteFirefox 用 C# 访问 SQLite 入门 (1) SQLite 在 VS C# 环境下的开发,网上已经有很多教程.我也是从 ...
随机推荐
- centos6.5配置无线网络
由于安装的是服务器版,所以开机无法连接网络,以下这些情况都是针对驱动已经安装OK.按步骤操作如下(以下操作默认都是在超级管理员权限下进行): 1.测试电脑是否安装wpa_supplicant,测试方法 ...
- IOS6和IOS7的屏幕适配问题
自从IOS7出来以后,以前写在IOS6上或者更低版本的程序,跑在IOS7的模拟器上就会出现一些问题.最大的问题就是,所有的UI空间都会统一向上移动20个点(如果空间的y值为0,就会被StatusBar ...
- JavaScript 函数方法 - bind()
Function.prototype.bind() ECMAScript5中新增的方法,但是在ECMAScript3可以通过模仿实现其方法作用 作用: bind() 方法会创建一个新函数,当这个新函数 ...
- SqlBulkCopy使用心得 (大量数据导入)
文章转载原地址:http://www.cnblogs.com/mobydick/archive/2011/08/28/2155983.html 最近做的项目由于之前的设计人员懒省事,不按照范式来,将一 ...
- PHP 日期格式化 参数参考
a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足二位则前面补零; 如: ...
- 2、 Spark Streaming方式从socket中获取数据进行简单单词统计
Spark 1.5.2 Spark Streaming 学习笔记和编程练习 Overview 概述 Spark Streaming is an extension of the core Spark ...
- 练习--分治法--Merge k Sorted Lists
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. / ...
- 新建一个vs2010的MFC工程
1.在新建mfc工程时Visual C++下的MFC MFC ActiveX Control用来生成MFC ActiveX控件程序 MFC Application用来生成MFC应用程序. MFC DL ...
- Mysql学习(慕课学习笔记6)修改数据表(上)
添加单列 Alter table tb1_name ADD[column] col_name column_definition [first | after col_name] 列名称 ...
- photoSlider-html5原生js移动开发轮播图-相册滑动插件
简单的移动端图片滑动切换浏览插件 分别引用css文件和js文件 如: <link rel="stylesheet" type="text/css" hre ...