怎么连接已有的derby数据库

怎么连接已有的derby数据库,第1张

1.程序中创建数据库时,如果没有指定目录,会默认在项目的根目录下,生成一个以derby数据库名的目录,如:

Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance()

System.out.println("Load the embedded driver")

Connection conn = null

Properties props = new Properties()

props.put("user", "test")

props.put("password", "test")

// create and connect the database named helloDB

conn = DriverManager.getConnection(

"jdbc:derby:testDBcreate=true", props)

System.out.println("create and connect to testDB")

conn.setAutoCommit(true)

其中:“jdbc:derby:testDBcreate=true”,则在项目根目录下生成一个testDB目录。

2.下载安装coolsql后, *** 作如下:

1>新建一个书签,选择驱动

找到derby-10.9.1.0.jar(或其他版本jar),选择下面的:org.apache.derby.jdbc.EmbeddedDriver 。

2>下一步,输入用户名、密码,填写程序中赋值的:test,test;下面的数据库名字填写时,要注意,写系统的绝对路径,如:E:\eclipse3.7\wordspace_mvn\staticize\testDB(staticize为项目根目录),下面的url:jdbc:derby:E:\eclipse3.7\wordspace_mvn\staticize\testDB(自动填写)。

3>保持连接就可以了。

Derby插件工具可以连接derby数据库

下载Eclipse的Derby插件,包括:derby_core_plugin derby_ui_plugin

解压缩并复制到eclipse目录下。重启Eclipse目录。鼠标选择项目,然后鼠标右键,选择Properties说明安装成功。

为项目增加Derby插件支持。选择Add Apache Derby nature。

然后启动derby数据库服务器。启动derby数据库客户端ij。通过ij创建并连接到服务器端:

connect 'jdbc:derby://localhost:1527/helloworldcreate=trueusername=testpassword=test'

连接到名为helloworld的数据库

地址为:localhost:1527

create=true,如果不存在这个数据库,就在服务器端创建

username=testpassword=test,用户名/密码为test,如果是新建数据库将新建用户和密码。

Derby的SQL脚本:create.sql,内容:

create table books(

id int generated always as identity,

name varchar(32) not null,

PRICE DECIMAL(6,2),

constraint P_Key_1 primary key (id)

)

执行脚本的命令:

run 'create.sql'

1,下载并安装Derby:

下载地址:http://db.apache.org/derby /derby_downloads.html,下载最新版本。

我用的是10.5.3.0。

解压缩到任意文件夹,我的是:E:\Java\Joy\derby

2,配置环境变量:

建立DERBY_HOME,值:E:\Java\Joy\derby\db- derby-10.5.3.0-bin\db-derby-10.5.3.0-bin

在Path加入:%DERBY_HOME%\bin

在CLASSPATH加入:%DERBY_HOME%\lib \derby.jar%DERBY_HOME%\lib\derbyclient.jar%DERBY_HOME%\lib\derbytools.jar%DERBY_HOME%\lib\derbynet.jar

3,测试看看Derby安装成功没有

开始—Run—CMD

运行 sysinfo

如果安装成功,将会看到相关信息,下面是截取的部分信息。

——— Derby 信息 ——–

JRE – JDBC: Java SE 6 – JDBC 4.0

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derby.jar] 10

.5.3.0 – (802917)

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbytools.ja

r] 10.5.3.0 – (802917)

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbynet.jar]

10.5.3.0 – (802917)

[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbyclient.j

ar] 10.5.3.0 – (802917)

4,创建和使用数据库

打开命令行,进入想要放置数据库的目录,我的是:E:\Java\Joy \derby\Derby_data

然后输入ij

将会看到:

ij 版本 10.5

ij>

接下来就可以创建数据库了。

例:

创建firstdb数据库:

ij>connect ‘jdbc:derby:firstdbcreate=true’

连接firstdb数据库:

ij>connect ‘jdbc:derby:firstdb’

查询数据库等 *** 作,只需要输入相应的Sql语句即可。

创建一个table:

create table firsttable(id int primary key, name varchar(20))

插入数据:

insert into firsttable values(1, ‘Hotpepper’)

在命令行测试一下:

select * from firsttable

结果如下:

ID |NAME

——————————–

1 |Hotpepper

其它命令

断开连接:

ij>disconnect

退出ij:

ij>exit

5,在Java程序中使用Derby

首先要把相关的Derby jar包加进来(Build Path)。

把derby.jar加进来,如果没有加进来会出现 “java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver”错误

好了,下面写JAVA代码进行测试:

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

public class Test {

private static String driver = “org.apache.derby.jdbc.EmbeddedDriver”

private static String protocol = “jdbc:derby:”

String dbName = “E:\\Java\\Joy\\derby\\Derby_data\\firstdb”

static void loadDriver() {

try {

Class.forName(driver).newInstance()

System.out.println(“Loaded the appropriate driver”)

} catch (Exception e) {

e.printStackTrace()

}

}

public void doIt() {

Connection conn = null

Statement s = null

ResultSet rs = null

System.out.println(“starting”)

try {

conn = DriverManager.getConnection(protocol + dbName

+ “create=true”)

} catch (SQLException e) {

e.printStackTrace()

}

System.out.println(“Connected to and created database ” + dbName)

try {

s=conn.createStatement()

rs=s.executeQuery(“select * from firsttable”)

while (rs.next()) {

System.out.println(rs.getInt(1))

System.out.println(rs.getString(2))

}

} catch (SQLException e1) {

e1.printStackTrace()

}

try {

conn.close()

conn = null

s.close()

s = null

rs.close()

rs = null

} catch (Exception e) {

e.printStackTrace()

}

}

public static void main(String[] args) {

Test t = new Test()

t.loadDriver()

t.doIt()

}

}

OK,完成了。

—————————————————-

附:复制粘贴Derby数据库:

备份Derby数据库(derby-10.5.3.0)

小试了一下,很简单的,就复制粘贴就好了。

找到想要复制的数据库文件夹,比如:

C:\Program Files\SQuirreL SQL Client\firstdb

我们就把整个firstdb文件夹复制下来,然后粘贴到想要粘贴的地方。

就那么简单。

以上是我突发奇想试试看,没想到就成了。在网上搜了一下,貌似derby备份的方法不是这样的,而这种方法莫非是传说中的“热备份”?

6,在DbVisualizer中使用Derby

选择Database时选择到数据库的目录。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9607352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存