您的位置:首页 > 其它

Derby-10.11学习笔记(二)脚本介绍

2015-11-24 17:20 330 查看
鲁春利的工作笔记,谁说程序员不能有文艺范?

Derby同时提供了在Linux下和Windows下运行的脚本:
E:\mvtech\db-derby-10.11.1.1\bin>ls -l
total 64
-rw-rw-rw-   1 user     group        5801 Aug  7  2014 NetworkServerControl
-rwxrwxrwx   1 user     group        1413 Aug  1  2014 NetworkServerControl.bat
-rw-rw-rw-   1 user     group        5740 Aug  7  2014 dblook
-rwxrwxrwx   1 user     group        1387 Aug  1  2014 dblook.bat
-rwxrwxrwx   1 user     group        2426 Aug  1  2014 derby_common.bat
-rw-rw-rw-   1 user     group        5876 Aug  7  2014 ij
-rwxrwxrwx   1 user     group        1379 Aug  1  2014 ij.bat
-rw-rw-rw-   1 user     group        1073 Aug  1  2014 setEmbeddedCP
-rwxrwxrwx   1 user     group        1278 Aug  1  2014 setEmbeddedCP.bat
-rw-rw-rw-   1 user     group        1079 Aug  1  2014 setNetworkClientCP
-rwxrwxrwx   1 user     group        1284 Aug  1  2014 setNetworkClientCP.bat
-rw-rw-rw-   1 user     group        1075 Aug  1  2014 setNetworkServerCP
-rwxrwxrwx   1 user     group        1273 Aug  1  2014 setNetworkServerCP.bat
-rw-rw-rw-   1 user     group        5807 Aug  7  2014 startNetworkServer
-rwxrwxrwx   1 user     group        1397 Aug  1  2014 startNetworkServer.bat
-rw-rw-rw-   1 user     group        5810 Aug  7  2014 stopNetworkServer
-rwxrwxrwx   1 user     group        1403 Aug  1  2014 stopNetworkServer.bat
-rw-rw-rw-   1 user     group        5789 Aug  7  2014 sysinfo
-rwxrwxrwx   1 user     group        1389 Aug  1  2014 sysinfo.bat


1、设定环境变量

${DERBY_HOME}以及${DERBY_HOME}/bin环境变量的设置是为了简化脚本操作,避免每次都必须指定绝对路径;但,如果希望在Java应用程序中使用Derby,那么就必须设置CLASSPATH环境变量。

配置Derby环境变量时可以修改Windows的环境变量或Linux配置文件,也可以通过命令配置临时的环境变量,该临时配置方式仅限于当前应用有效。

setEmbeddedCP
设置以Embedded模式运行时Derby数据库的classpath,该脚本将derby.jar和derbytools.jar添加到classpath。
export CLASSPATH="${DERBY_HOME}/lib/derby.jar:${DERBY_HOME}/lib/derbytools.jar:${CLASSPATH}"
setNetworkServerCP
设置以Network Server模式运行时Derby数据库的classpath,该脚本将derbynet.jar和derbytools.jar添加到classpath。
export CLASSPATH="${DERBY_HOME}/lib/derbynet.jar:${DERBY_HOME}/lib/derbytools.jar:${CLASSPATH}"
setNetworkClientCP
当希望通过Network Client访问数据库时,需要通过该脚本设置Derby数据库的classpath,该脚本将derbyclient.jar和derbytools.jar添加到classpath。
export CLASSPATH="${DERBY_HOME}/lib/derbyclient.jar:${DERBY_HOME}/lib/derbytools.jar:${CLASSPATH}"


2、sysinfo
sysinfo provides information about your version of Derby and your environment。

C:\>sysinfo.bat
------------------ Java 信息 ------------------
Java 版本:        1.7.0_79
Java 供应商:      Oracle Corporation
Java 主目录:      C:\Java\jdk1.7.0_79\jre
Java 类路径:      略
OS 名:            Windows 7
OS 体系结构:      amd64
OS 版本:          6.1
Java 用户名:      Administrator
Java 用户主目录:C:\Users\Administrator.ZGC-20130427XQA
Java 用户目录:    C:\
java.specification.name: Java Platform API Specification
java.specification.version: 1.7
java.runtime.version: 1.7.0_79-b15
--------- Derby 信息 --------
[E:\mvtech\db-derby-10.11.1.1\lib\derby.jar] 10.11.1.1 - (1616546)
[E:\mvtech\db-derby-10.11.1.1\lib\derbytools.jar] 10.11.1.1 - (1616546)
[E:\mvtech\db-derby-10.11.1.1\lib\derbynet.jar] 10.11.1.1 - (1616546)
[E:\mvtech\db-derby-10.11.1.1\lib\derbyclient.jar] 10.11.1.1 - (1616546)
------------------------------------------------------
----------------- 区域设置信息 -----------------
当前区域设置:  [中文/中国 [zh_CN]]
找到支持的区域设置:[cs]
版本:10.11.1.1 - (1616546)
找到支持的区域设置:[de_DE]


3、ij
ij is Derby's interactive JDBC scripting tool,can be used in an embedded or a client/server environment。
connect    '数据库/url' [ PROTOCOL namedProtocol ] [ AS connectionName ];    -- 连接到数据库/URL
SET CONNECTION connectionName;     -- 切换到指定的连接
DISCONNECT [ CURRENT | connectionName | ALL ];        -- 删除当前的、指定的或所有连接;
SHOW SCHEMAS;                    -- 列出当前数据库中的所有方案
SHOW [ TABLES | VIEWS | PROCEDURES | FUNCTIONS | SYNONYMS ] { IN 方案 };
SHOW INDEXES { IN 方案 | FROM 表 };     -- 列出方案中的索引,或者某个表的索引
DESCRIBE 名称;                           -- 列出指定表中的列
COMMIT;                                  -- 提交当前事务处理
ROLLBACK;                                -- 回退当前事务处理
RUN '文件名';                             -- 从指定的文件运行命令
MAXIMUMDISPLAYWIDTH integerValue;        -- 将每一列的最大显示宽度
EXIT;                                    -- 退出 ij
HELP;                                    -- 显示此消息


4、dblook
dblook is Derby's Data Definition Language (DDL) Generation Utility。It is a simple utility that dumps the DDL of a user-specified database to either a console or a file.
查看数据库的定义(包括数据库及所有表定义):
dblook.bat -d jdbc:derby:DemoDB
-z schema
[-t tablenaeme1 tablename2 ]
[-td delimiter] --默认以;结尾
[-noview]
[-append]
[-verbose]
[-o filen]
示例:
C:\>dblook.bat -d jdbc:derby:DemoDB -z DemoDB -t t_user -verbose
-- 时间戳记:2015-12-03 11:47:42.062
-- 源数据库为:DemoDB
-- 连接 URL 为:jdbc:derby:DemoDB
-- dblook 实用程序将仅考虑指定的表。
-- 指定的方案为:DemoDB
-- appendLogs: false

-- ----------------------------------------------
-- 方案的 DDL 语句
-- ----------------------------------------------

CREATE SCHEMA "DEMODB";

-- ----------------------------------------------
-- 表的 DDL 语句
-- ----------------------------------------------

CREATE TABLE "DEMODB"."T_USER" (
"ID" BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1),
"CREATE_TIME" DATE NOT NULL,
"UPDATE_TIME" DATE NOT NULL,
"IS_BLACKLIST" BOOLEAN,
"IMPI" VARCHAR(50),
"MSISDN" VARCHAR(50),
"NAME" VARCHAR(50),
"REAL_NAME" VARCHAR(50),
"TEEID" VARCHAR(50),
"IS_WHITELIST" BOOLEAN,
"DEVICE_ID" BIGINT
);        -- 这里的分号即为td默认指定的,如果-td A,那么这里的;就变成了A

-- ----------------------------------------------
-- 键的 DDL 语句
-- ----------------------------------------------

-- PRIMARY/UNIQUE
ALTER TABLE "DEMODB"."T_USER" ADD CONSTRAINT "SQL151201153009260" PRIMARY KEY ("ID");

-- FOREIGN
ALTER TABLE "DEMODB"."T_USER"
ADD CONSTRAINT "FK_OH3K3O6A1Q4INSEBWFMEKHI0U" FOREIGN KEY ("DEVICE_ID")
REFERENCES "TEETSM_TEST"."T_DEVICE" ("ID")
ON DELETE NO ACTION
ON UPDATE NO ACTION;

C:\>


5、startNetworkServer
实际调用:
exec \"$JAVACMD\" $DERBY_OPTS -classpath \"$LOCALCLASSPATH\" org.apache.derby.drda.NetworkServerControl start $@


6、stopNetworkServer
实际调用:
exec \"$JAVACMD\" $DERBY_OPTS -classpath \"$LOCALCLASSPATH\" org.apache.derby.drda.NetworkServerControl start $@


7、NetworkServerControl
用法:NetworkServerControl <命令>
命令:
start [-h <主机>] [-p <端口号>] [-noSecurityManager] [-ssl <ssl 模式>]
shutdown [-h <主机>][-p <端口号>] [-ssl <ssl 模式>] [-user <用户名>] [-password <口令>]
ping [-h <主机>][-p <端口号>] [-ssl <ssl 模式>]
sysinfo [-h <主机>][-p <端口号>] [-ssl <ssl 模式>]
runtimeinfo [-h <主机>][-p <端口号>] [-ssl <ssl 模式>]
logconnections { on|off } [-h <主机>][-p <端口号>] [-ssl <ssl 模式>]
maxthreads <最大值>[-h <主机>][-p <端口号>] [-ssl <ssl 模式>]
timeslice <毫秒>[-h <主机>][-p <端口号>] [-ssl <ssl 模式>]
trace { on|off } [-s <会话 ID>][-h <主机>][-p <端口号>] [-ssl <ssl 模式>]
tracedirectory <跟踪目录>[-h <主机>][-p <端口号>] [-ssl <ssl 模式>]


8、derbyrun.jar



C:\>java -jar %DERBY_HOME%/lib/derbyrun.jar
用法:
java -jar derbyrun.jar ij [-p propertiesfile] [sql script]
java -jar derbyrun.jar sysinfo [-cp ...] [-cp help]
java -jar derbyrun.jar dblook [args](或没有用法自变量)
java -jar derbyrun.jar server [args](或没有用法自变量)
ij
C:\>java -jar %DERBY_HOME%/lib/derbyrun.jar ij F:\ftpfile\ij_sample.sql
ij 版本 10.11
ij> connect 'jdbc:derby://localhost:1527/teetsm_test';
ij> SELECT id, name, real_name FROM teetsm_test.t_user where id < 5;
ID                  |NAME                 |REAL_NAME
--------------------------------------------------------
1                   |lucl                 |鲁春利

已选择 1 行
ij>
C:\>



sysinfo
C:\>sysinfo

(UNIX) java [options] -jar $DERBY_HOME/lib/derbyrun.jar sysinfo
(Windows) java [options] -jar %DERBY_HOME%\lib\derbyrun.jar sysinfo

java org.apache.derby.tools.sysinfo

C:\>java -jar %DERBY_HOME%/lib/derbyrun.jar sysinfo
------------------ Java 信息 ------------------
Java 版本:        1.7.0_79
Java 供应商:      Oracle Corporation
Java 主目录:      C:\Java\jre7
Java 类路径:      E:\mvtech\db-derby-10.11.1.1/lib/derbyrun.jar
OS 名:            Windows 7
OS 体系结构:      amd64
OS 版本:          6.1
Java 用户名:      Administrator
Java 用户主目录:C:\Users\Administrator.ZGC-20130427XQA
Java 用户目录:    C:\
java.specification.name: Java Platform API Specification
java.specification.version: 1.7
java.runtime.version: 1.7.0_79-b15
--------- Derby 信息 --------
[E:\mvtech\db-derby-10.11.1.1\lib\derby.jar] 10.11.1.1 - (1616546)
[E:\mvtech\db-derby-10.11.1.1\lib\derbytools.jar] 10.11.1.1 - (1616546)
[E:\mvtech\db-derby-10.11.1.1\lib\derbynet.jar] 10.11.1.1 - (1616546)
[E:\mvtech\db-derby-10.11.1.1\lib\derbyclient.jar] 10.11.1.1 - (1616546)
[E:\mvtech\db-derby-10.11.1.1\lib\derbyoptionaltools.jar] 10.11.1.1 - (1616546)
------------------------------------------------------
----------------- 区域设置信息 -----------------
当前区域设置:  [中文/中国 [zh_CN]]


dblook
# 与单独执行dblook是一样的
C:\>java -jar %DERBY_HOME%/lib/derbyrun.jar dblook


server
C:\>java -jar %DERBY_HOME%/lib/derbyrun.jar server
Thu Dec 03 17:16:19 CST 2015 : 未提供命令。
用法:NetworkServerControl <命令> 命令: start [-h <主机>] [-p <端口号>] [-noSecurityManager] [-ssl <ssl 模式>] shutdown [-h <主机>][-p <端口号>] [-ssl <ssl 模式>] [-user <用户名>] [-password <口令>] ping [-h <主机>][-p <端口号>] [-ssl <ssl 模式>] sysinfo [-h <主机>][-p <端口号>] [-ssl <ssl 模式>] runtimeinfo [-h <主机>][-p <端口号>] [-ssl <ssl 模式>] logconnections { on|off } [-h <主机>][-p <端口号>] [-ssl <ssl 模式>] maxthreads <最大值>[-h <主机>][-p <端口号>] [-ssl <ssl 模式>] timeslice <毫秒>[-h <主机>][-p <端口号>] [-ssl <ssl 模式>] trace { on|off } [-s <会话 ID>][-h <主机>][-p <端口号>] [-ssl <ssl 模式>] tracedirectory <跟踪目录>[-h <主机>][-p <端口号>] [-ssl <ssl 模式>]

C:\>


本文出自 “闷葫芦的世界” 博客,请务必保留此出处http://luchunli.blog.51cto.com/2368057/1716464
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: