2

虽然我在安装和设置 derby 时遇到了一些问题,但我确实取得了部分成功:

root@dur:~/apache-james-3.0-beta4/var/store/derby# 
root@dur:~/apache-james-3.0-beta4/var/store/derby# ll
total 36
drwxr-xr-x 5 root root  4096 Aug 23 16:46 ./
drwxr-xr-x 5  501 staff 4096 Aug 23 02:07 ../
-rw-r--r-- 1 root root     4 Aug 23 02:07 dbex.lck
-rw-r--r-- 1 root root    38 Aug 23 02:07 db.lck
-rw-r--r-- 1 root root   187 Aug 23 16:46 derby.log
drwxr-xr-x 2 root root  4096 Aug 23 02:07 log/
drwxr-xr-x 2 root root  4096 Aug 23 02:07 seg0/
-rw-r--r-- 1 root root   868 Aug 23 02:07 service.properties
drwxr-xr-x 2 root root  4096 Aug 23 02:07 tmp/
root@dur:~/apache-james-3.0-beta4/var/store/derby# 
root@dur:~/apache-james-3.0-beta4/var/store/derby# java org.apache.derby.tools.ij
ij version 10.9
ij> quit;
root@dur:~/apache-james-3.0-beta4/var/store/derby# 

我现在如何查询这个特定的数据库?

4

2 回答 2

2

一个完整的示例,使用 Derby 和 Squirrel,假设您已经在系统上安装了 Derby 数据库:

  1. Squirrel SQL安装到$HOME/bin/squirrel
  2. Apache Derby安装到$HOME/bin/db-derby
  3. 跑松鼠 ( cd $HOME/bin/squirrel ; ./squirrel-sql.sh)
  4. 单击驱动程序以打开驱动程序面板。
  5. 双击Apache Derby Embedded
  6. 单击额外类路径
  7. 单击添加
  8. 选择$DERBY_HOME/lib/derby.jar
  9. 示例 URL设置为数据库路径(例如,包含 的目录seg0)。
  10. 单击确定保存。

此时 Apache Derby Embedded 图标不应再有红色 X。

然后:

  1. 单击别名选项卡。
  2. 名称设置为:DerbyDB
  3. 确保驱动程序设置为:Apache Derby Embedded
  4. 验证URL是否指向包含seg0.
  5. 单击确定(不需要用户名或密码?)。
  6. 单击连接

数据库现在已连接,您应该会看到模式。

然后:

  1. Ctrl+n显示新的 SQL 编辑器窗口,或单击SQL选项卡。
  2. 类型:SELECT * FROM SYS.SYSTABLES
  3. 单击 Running human 图标(或按Ctrl+Shift+Enter)执行查询。

您现在可以对 Derby 数据库执行 SQL 语句。

注意:这在技术上并不能回答问题,因为这个答案没有解释如何使用交互式命令行界面 ( ij)。答案提出了使用 Squirrel 的图形界面查询数据库的可行替代方案。

于 2013-07-28T03:15:24.483 回答
1

我仍然不知道如何真正查询数据库本身,但连接起来相当简单,显然

root@dur:~/apache-james-3.0-beta4/var/store/derby# 
root@dur:~/apache-james-3.0-beta4/var/store/derby# pwd
/root/apache-james-3.0-beta4/var/store/derby
root@dur:~/apache-james-3.0-beta4/var/store/derby# 
root@dur:~/apache-james-3.0-beta4/var/store/derby# ll
total 24
drwxr-xr-x 4 root root  4096 Aug 23 18:24 ./
drwxr-xr-x 5  501 staff 4096 Aug 23 02:07 ../
-rw-r--r-- 1 root root  1092 Aug 23 18:24 derby.log
drwxr-xr-x 2 root root  4096 Aug 23 02:07 log/
drwxr-xr-x 2 root root  4096 Aug 23 02:07 seg0/
-rw-r--r-- 1 root root   868 Aug 23 02:07 service.properties
root@dur:~/apache-james-3.0-beta4/var/store/derby# 
root@dur:~/apache-james-3.0-beta4/var/store/derby# java org.apache.derby.tools.ij 
ij version 10.9
ij> connect 'jdbc:derby:/root/apache-james-3.0-beta4/var/store/derby';
ij> 
;
ij> show schema;
ERROR 42X01: Syntax error: Encountered "show" at line 1, column 1.
Issue the 'help' command for general information on IJ command syntax.
Any unrecognized commands are treated as potential SQL commands and executed directly.
Consult your DBMS server reference documentation for details of the SQL syntax supported by your server.
ij> 
;
ij> show schemas;
TABLE_SCHEM                   
------------------------------
APP                           
NULLID                        
SQLJ                          
SYS                           
SYSCAT                        
SYSCS_DIAG                    
SYSCS_UTIL                    
SYSFUN                        
SYSIBM                        
SYSPROC                       
SYSSTAT                       

11 rows selected
ij> show tables;
TABLE_SCHEM         |TABLE_NAME                    |REMARKS             
------------------------------------------------------------------------
SYS                 |SYSALIASES                    |                    
SYS                 |SYSCHECKS                     |                    
SYS                 |SYSCOLPERMS                   |                    
SYS                 |SYSCOLUMNS                    |                    
SYS                 |SYSCONGLOMERATES              |                    
SYS                 |SYSCONSTRAINTS                |                    
SYS                 |SYSDEPENDS                    |                    
SYS                 |SYSFILES                      |                    
SYS                 |SYSFOREIGNKEYS                |                    
SYS                 |SYSKEYS                       |                    
SYS                 |SYSPERMS                      |                    
SYS                 |SYSROLES                      |                    
SYS                 |SYSROUTINEPERMS               |                    
SYS                 |SYSSCHEMAS                    |                    
SYS                 |SYSSEQUENCES                  |                    
SYS                 |SYSSTATEMENTS                 |                    
SYS                 |SYSSTATISTICS                 |                    
SYS                 |SYSTABLEPERMS                 |                    
SYS                 |SYSTABLES                     |                    
SYS                 |SYSTRIGGERS                   |                    
SYS                 |SYSVIEWS                      |                    
SYSIBM              |SYSDUMMY1                     |                    
APP                 |JAMES_DOMAIN                  |                    
APP                 |JAMES_MAIL                    |                    
APP                 |JAMES_MAILBOX                 |                    
APP                 |JAMES_MAIL_PROPERTY           |                    
APP                 |JAMES_MAIL_USERFLAG           |                    
APP                 |JAMES_RECIPIENT_REWRITE       |                    
APP                 |JAMES_SUBSCRIPTION            |                    
APP                 |JAMES_USER                    |                    
APP                 |OPENJPA_SEQUENCE_TABLE        |                    

31 rows selected
ij> quit;
root@dur:~/apache-james-3.0-beta4/var/store/derby# 
于 2012-08-24T01:27:33.610 回答