【问题标题】:use derby ij against an existing database对现有数据库使用 derby ij
【发布时间】:2012-08-19 13:20:00
【问题描述】:

虽然我有 some trouble installing and setting up 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# 

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

【问题讨论】:

    标签: database ubuntu command-line-interface derby


    【解决方案1】:

    一个完整的例子,使用 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. 确保 Driver 设置为: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 的图形界面查询数据库的可行替代方案。

    【讨论】:

      【解决方案2】:

      我仍然不知道如何真正查询db本身,但是连接起来相当简单,apparently

      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# 
      

      【讨论】:

      • 一个示例查询是:select * from app.james_mailbox;
      猜你喜欢
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 2014-07-05
      • 2012-12-30
      • 1970-01-01
      • 2011-05-24
      • 1970-01-01
      • 2015-06-08
      相关资源
      最近更新 更多