连接derby数据库_使用Python连接到Apache Derby数据库
总览Apache Derby是用100%纯Java编写的关系数据库。 该项目最初称为Cloudscape™ ,由IBM在2004年8月为Apache基金会做出了贡献,目前处于孵化阶段。 这意味着您可以访问一个易于使用的关系数据库,该数据库根据Apache软件许可免费提供。尽管Derby是用Java编写的,但有时仍需要用其他语言编写的程序访问Derby数据库。 Python是一种解释...
连接derby数据库
总览
Apache Derby是用100%纯Java编写的关系数据库。 该项目最初称为Cloudscape™ ,由IBM在2004年8月为Apache基金会做出了贡献,目前处于孵化阶段。 这意味着您可以访问一个易于使用的关系数据库,该数据库根据Apache软件许可免费提供。
尽管Derby是用Java编写的,但有时仍需要用其他语言编写的程序访问Derby数据库。 Python是一种解释型高级面向对象的动态类型编程语言。 解释器可以交互或迭代使用,这一事实为我们提供了一种有趣的快速原型语言和开发/测试环境。 当与一些现有实用程序结合使用时,Python允许您编写高级,动态,面向对象的脚本,以非常轻松地操作Derby关系数据库。 本文介绍了如何执行此操作。
本文并非旨在介绍Python, Apache Derby或SQL 。 但是,它将显示如何设置Windows®系统,以便您可以使用Python访问和操作Derby数据库。
第一步
您需要做的第一件事是安装Derby并将其配置为在Windows系统上运行。
表1:安装Derby
采取的行动 | 描述 | 评论/结果 |
---|---|---|
至少需要一个Java Runtime Environment(JRE) | 从developerWorks安装1.4.2 JRE:
|
至少需要存在一个JRE。 另一方面,您可能需要或拥有完整的Java开发环境,其中包括Java编译器和其他实用程序。 |
验证您的Java环境 | 打开一个新的命令提示符,然后键入:
|
如果您看到类似以下内容的内容:
|
安装Apache Derby |
|
结果:所有Derby文件都在以下位置:
|
推荐:安装IBM Cloudscape |
|
结果:所有Cloudscape文件位于以下位置:
|
推荐:安装本文的示例文件 |
|
结果:所有示例文件都在以下位置:
|
为什么同时安装Derby和Cloudscape?
据我所知,安装Derby的主要原因是您可以访问程序源,并参与开源项目的审阅和实施。 IBM提供的Cloudscape的“当前”版本与Apache提供的Derby的绝对最新版本之间可能会有一些差异。 在这一点上,可能没有太大的区别。 有时可能会。 因此,您可以决定是安装Derby还是Cloudscape,或者两者都安装。
安装IBM Cloudscape的原因很多。 我发现最引人注目的是IBM Cloudscape包括以下事实:
- PDF格式的文档(使搜索更容易)
- 样例程序
- 样本数据库
- 必要的“ IBM DB2 JDBC通用驱动程序”(例如:db2jcc * .jar)jar文件。
- 用于执行实用程序的命令文件,例如:
-
dblook
- 数据定义语言(DDL)生成实用程序(也称为架构转储工具) ij
- 用于针对数据库运行脚本的交互式JDBC脚本编写工具 系统信息
- 该实用程序提供有关您的Cloudscape版本和您的环境的信息 * NetworkServer * .bat
- 用于启动和停止Cloudscape作为网络服务器的命令文件
安装Derby之后,目录结构应包含以下内容:
Derby目录结构和内容:
目录 | 内容 |
---|---|
C:\德比 | Derby安装中的COPYRIGHT,LICENSE,NOTICE和README文件以及以下目录: |
C:\ Derby \ bin | 来自Python2DerbySamples.zip或C:\ Cloudscape \ frameworks \ NetworkServer \ bin的所有* .bat文件 |
C:\ Derby \数据库 | 来自C:\ Cloudscape \ demo \ databases的所有数据库数据(例如:sample和toursDB目录) |
C:\ Derby \ javadoc | Derby安装中的所有Java文档 |
C:\ Derby \ lib | Derby安装中的所有* .jar文件 |
启动Derby Network服务器
有关配置和使用Derby Network Server的背景信息,请参阅Derby文档 。 与我自己一样,对快速启动和运行感兴趣的那些人可以使用Cloudscape脚本文件作为示例,并编写自己的简单Derby Server脚本来启动和停止Derby数据库。
为了使事情变得更加简单,我将以下所有脚本文件包含在样本下载文件中 。
表2:Python2DerbySamples.zip的内容
文档名称 | 描述 |
---|---|
setNetworkClientCP.bat | 为Derby客户端设置CLASSPATH 环境值 |
setNetworkServerCP.bat | 设置Derby服务器的CLASSPATH 环境值 |
NetworkServerControl.bat | 向Derby Network Server程序发出命令 |
startNetworkServer.bat | 启动Derby Network Server程序 |
stopNetworkServer.bat | 停止Derby Network Server程序 |
dblook.bat | 数据定义语言生成实用程序 |
蝙蝠 | 交互式JDBC脚本工具 |
sysinfo.bat | 显示有关您的Derby Network Server系统的信息 |
有三种方法可以启动Derby Network Server程序:
- 手动(例如:设置
CLASSPATH
环境变量,并调用Java代码以使用“ start”参数执行NetworkServerControl类文件)。 例如:set CLASSPATH=C:\Derby\lib\derby.jar;C:\Derby\lib\derbytools.jar;C:\Derby\lib\derbynet.jar cd C:\Derby\databases java org.apache.derby.drda.NetworkServerControl start
- 使用NetworkServerControl.bat文件,并指定“开始”作为参数。 例如:
NetworkServerControl start
- 使用startNetworkServer.bat文件。 请注意,由于一切都由该脚本完成,因此您可以轻松地在桌面或快速启动工具栏上找到此脚本的快捷方式。 因此,您可以使用快捷方式图标,也可以从命令提示符启动脚本。 例如:
startNetworkServer
程序员之间似乎共有的一个属性是寻找,编写和使用“快速而简单”的方法来做事的倾向。 从某种意义上讲,这就是本文的全部内容。 由于Windows批处理(* .bat)文件是脚本的一种形式,因此很容易理解为什么人们愿意由脚本文件标识和处理所有“小细节”。 它不仅易于使用,而且易于记忆。
清单1:setNetworkServerCP.bat
其他脚本文件调用此脚本文件,以将适当的Derby Java存档(jar)文件添加到CLASSPATH
环境变量的前面。 因此,文件名(例如:设置网络服务器C姑娘P ATH):
set DERBY=C:\Derby
set DERBY_JARS=%DERBY%\lib\derby.jar
set DERBY_JARS=%DERBY_JARS%;%DERBY%\lib\derbytools.jar
set DERBY_JARS=%DERBY_JARS%;%DERBY%\lib\derbynet.jar
set CLASSPATH=%DERBY_JARS%;%CLASSPATH%
清单2:NetworkServerControl.bat
该脚本文件执行setNetworkServerContol程序,并传递任何用户指定的参数。 这使我们可以使用一个公共脚本文件来发布任何受支持的网络控制命令:
@ECHO OFF
setlocal
Title Derby: NetworkServerControl
cd C:\Derby\databases
call C:\Derby\bin\setNetworkServerCP.bat
java org.apache.derby.drda.NetworkServerControl %*
Title Windows command prompt
endlocal
清单3:startNetworkServer.bat
该专用脚本文件只能用于启动Derby Network Server。 与前面的脚本文件非常相似,将调用NetworkServerControl程序,并将“开始”指定为唯一参数:
@ECHO OFF
setlocal
Title Derby Network Server
cd C:\Derby\databases
call C:\Derby\bin\setNetworkServerCP.bat
java org.apache.derby.drda.NetworkServerControl start
Title Windows command prompt
endlocal
不管用于将Derby作为网络服务器启动的技术如何,如果它能够成功启动,程序将等待来自客户端的连接请求。 接收到每个连接后,将显示一条指示该消息的消息。
停止Derby网络服务器
有三种(合理的)方式来停止Derby Network Server程序:
- 手动(例如:设置
CLASSPATH
环境变量,并调用Java代码以使用“ shutdown”参数执行NetworkServerControl类文件)。 例如:set CLASSPATH=C:\Derby\lib\derby.jar;C:\Derby\lib\derbytools.jar;C:\Derby\lib\derbynet.jar java org.apache.derby.drda.NetworkServerControl shutdown
- 使用NetworkServerControl.bat文件,并指定“关机”作为参数。 例如:
NetworkServerControl shutdown
- 使用stopNetworkServer.bat文件。 与startNetworkServer.bat一样,您可以在桌面或快速启动工具栏上找到它的快捷方式。 因此,您可以使用快捷方式图标,也可以从命令提示符下运行脚本。 例如:
stopNetworkServer
注意:尽管可能会异常终止Derby Network Server程序或进程窗口,但这样做可能会损坏您的数据库,因此强烈建议不要这样做。
要了解有关NetworkServerControl程序可以执行的操作的更多信息,可以查看Derby文档 。 另一种方法是在不指定参数的情况下执行NetworkServerControl。 这样做将导致它显示使用情况信息。 如图1所示 ,请求Derby Network Server停止时使用的参数为shutdown
。
图1:NetworkServerControl-使用情况信息
C:\Derby\bin> NetworkServerControl
No arguments given.
Usage: NetworkServerControl <commands>
Commands:
start [-h <host>] [-p <portnumber>]
shutdown [-h <host>][-p <portnumber>]
ping [-h <host>][-p <portnumber>]
sysinfo [-h <host>][-p <portnumber>]
runtimeinfo [-h <host>][-p <portnumber>]
logconnections {on|off}[-h <host>][-p <portnumber>]
maxthreads <max>[-h <host>][-p <portnumber>]
timeslice <milliseconds>[-h <host>][-p <portnumber>]
trace {on|off} [-s <session id>][-h <host>][-p <portnumber>]
tracedirectory <traceDirectory>[-h <host>][-p <portnumber>]
C:\Derby\bin> NetworkServerControl start
Server is ready to accept connections on port 1527.
*** Execute the following in a separate command window ***
C:\Derby\bin> NetworkServerControl ping
Connection obtained for host: localhost, port number 1527.
C:\Derby\bin> NetworkServerControl shutdown
Shutdown successful.
连接到Derby网络服务器
如图1所示 ,除了启动Derby Network服务器之外,还可以使用NetworkServerControl
。 您也可以使用它来证明可以建立连接(例如:通过“ ping”请求)。 Derby客户端需要使用与NetworkServerControl程序所使用的接口不同的接口。 为客户端提供的接口是Java数据库连接(JDBC)接口。 在客户端可以使用此JDBC接口连接到Derby Network Server之前,您需要获取支持该接口的连接驱动程序。
两个JAR文件提供对此的支持:
- db2jcc.jar
- db2jcc_license_c.jar
幸运的是,可以从两个位置获取这些文件。
- 您可以从developerWorks检索它们:
- 转至“用于Apache Derby网络服务器的IBM DB2 JDBC通用驱动程序”文章。
- 单击db2jcc_for_derby.zip链接。
- 单击发布的产品:IBM Cloudscape(IBM Cloudscape / Derby的IBM DB2 JDBC通用驱动程序)链接。
- 点击继续 。
- 如有必要,请注册。
- 点击登录 。
- 填写您的用户ID和密码,然后点击提交 。
- 阅读许可协议,然后单击我同意 。
- 将db2jcc_for_derby.zip下载到您的计算机上。
- 对下载的文件运行病毒扫描。
- 提取文件内容。
- 或者,如果您安装了Cloudscape,则只需从
C:\Cloudscape\lib
目录复制文件即可。
无论哪种情况,都需要将文件(db2jcc.jar和db2jcc_license_c.jar)复制到C:\Derby\lib
目录。
图2:更新的CLASSPATH
C:\Derby> lsPath classpath
CLASSPATH=
C:\Derby\lib\derby.jar
C:\Derby\lib\derbytools.jar
C:\Derby\lib\derbynet.jar
C:\Derby\lib\db2jcc.jar
C:\Derby\lib\db2jcc_license_c.jar
使用ij实用程序
现在,您可以使用Derby随附的其他实用程序之一(特别是ij实用程序)来执行更多操作,而不仅仅是连接到Derby Network Server。 为了弄清楚如何运行ij实用程序,您可以再次利用Cloudscape随附的脚本。 除了查看和研究ij脚本外,我还将示例数据库从C:\Cloudscape\demo\databases
复制到C:\Derby
下的相应位置。 例如:
图3:复制Cloudscape示例数据库
C:\> xcopy C:\Cloudscape\demo\databases C:\Derby\databases /s /e
Does C:\Derby\databases specify a file name
or directory name on the target
(F = file, D = directory)? d
...
135 File(s) copied
注意:如果使用主机名localhost启动Derby Network Server,这是最简单的,因此不需要验证密码。 这意味着用户ID将仅用于定义连接的初始架构。 由于到数据库的连接只能在同一台计算机上进行,因此安全性不应太大。 稳定环境后,可以使用Derby文档来启用密码验证和来自远程计算机的连接。
该模式标识默认情况下将访问的数据库中的表。 这使我们可以选择“ SELECT * FROM ORG”而不是“ SELECT * FROM SAMP.ORG”。
由于您正在通过网络服务器访问Derby数据库,因此必须先启动它,然后才能建立连接。
图4:ij会话
C:\Derby\bin> ij
ij version 10.0 (C) Copyright IBM Corp. 1997, 2004.
ij> connect 'jdbc:derby:net://localhost:1527/sample';
ij> select * from org;
DEPTN&|DEPTNAME |MANAG&|DIVISION |LOCATION
-----------------------------------------------------
10 |Head Office |160 |Corporate |New York
15 |New England |50 |Eastern |Boston
20 |Mid Atlantic |10 |Eastern |Washington
38 |South Atlantic|30 |Eastern |Atlanta
42 |Great Lakes |100 |Midwest |Chicago
51 |Plains |140 |Midwest |Dallas
66 |Pacific |270 |Western |San Francisco
84 |Mountain |290 |Western |Denver
8 rows selected
ij> disconnect all;
ij> exit;
DB2运行时客户端
毫不奇怪,Derby提供的JDBC API对Java程序最有用。 如果要使用JDBC应用程序编程接口(API)连接到Derby,则应考虑使用Jython而不是Python。
幸运的是,还有另一种选择。 Susan Cline的developerWorks文章“ Cloudscape和ODBC”(请参阅参考资料 )描述了如何使用DB2 Runtime Client使用JDBC接口连接到Derby Network Server,以及如何向其他支持程序提供Open DataBase Connectivity(ODBC)接口。它。 ODBC是一种开放式数据库访问方法,它定义程序如何访问和操纵数据库中的信息。
本文包含Windows下载部分。 使用“ DB2 Run-Time Client Lite版本8.2”链接访问安装说明(请参阅自述文件的第3部分)。 由于您已经安装了Derby,并从Cloudscape复制了示例数据库,并使用ij实用程序来验证JDBC与Derby Network Server的连接,因此现在可以配置DB2 Runtime客户端了。
表2:设置DB2运行时客户端
步 | 采取的行动 |
---|---|
1。 | 如果没有运行Derby Network Server,请按照上面启动Derby Network Server中的说明进行操作。 |
2。 | 启动DB2命令行处理器(CLP)。
您可以使用Windows的“开始”菜单:
或者您可以:
|
3。 | 配置一个名称,DB2代码可以通过该名称访问Derby Network Server。 为了简单起见,我将使用derby。 请注意,这不是主机名,它只是在DB2配置中用于标识如何访问Derby Network Server的名称。
|
4。 | 将样本数据库配置为位于此“远程”节点上:
|
5, | 在使用它时,还应将toursDB数据库配置为位于同一“远程”节点上:
|
6。 | 现在,您可以验证与数据库的连接。
|
7 | 并执行与上面图4中的 ij相同的查询。
|
8。 | 完成后,您应该与数据库断开连接。
|
9。 | 并退出命令行处理器。
|
10。 | 如果该窗口仍处于打开状态,并且您要关闭它,则只需执行以下操作:
|
注意:如果选择“用户DSN”,则您定义的信息仅对执行配置的用户可用。 另一方面,如果您使用System DSN,则“数据源名称”是系统范围的值,系统上的每个用户均可使用。
配置ODBC
为了访问您刚定义的DB2配置,需要一些其他的ODBC配置。
- 使用以下任一方法打开Windows控制面板:
- 开始>设置>控制面板或
- 开始>控制面板
- 选择管理工具 ,然后打开ODBC数据源管理器:
- 在“ 用户DSN”选项卡上,单击“ 添加” 。
- 向下滚动,然后选择IBM DB2 ODBC DRIVER :
- 点击完成 。
- 在“ IBM DB2 ODBC DRIVER-添加”对话框中:
- 指定sample的数据源名称 (DSN)。
- 在数据库别名下拉列表中,选择SAMPLE 。
- (可选)指定描述 。
- 单击确定 。
- 您也可以使用这些相同的步骤为toursDB数据库定义数据源名称(当然使用适当的数据库别名)。
- 单击确定 。
安装Python
您可能想知道我要花多长时间才能完成Python设置。 好了,现在是时候了。
表3:安装Python
采取的行动 | 描述 | 评论/结果 |
---|---|---|
获取并安装适用于Windows的Python | 要从ActiveState站点检索并安装Python,请执行以下操作:
|
将Python安装到合理的位置(例如: C:\Python24 )。 |
验证您的Python安装 | 打开一个新的命令提示符,然后键入:
|
您应该看到:
|
一些额外的东西
现在您已经安装了Python,可以使用它编写一些有趣且非常有用的脚本。 我发现在Unix™上一直使用的命令之一是which命令。 对于不熟悉此命令的用户,它用于标识如果您键入命令将要执行的程序。
例如: which java
将显示Java可执行文件的完整路径。
不幸的是,which命令在Windows上不可用。 您可以在Internet上搜索它,可能有许多该实用程序的实现很容易获得。 或者,您可以看到在Python中实现它所需要的。
这是该程序的未注释版本,基于Python安装随附的版本。 注释版本可在下面的下载部分中找到。
这个怎么运作
它使用PATH
和PATHEXT
环境变量中的值来搜索具有指定名称的文件,该文件存在于%PATH%中的一个目录中,该目录以%PATHEXT%中指定的可执行扩展名之一结尾。 如果找到一个,则显示该可执行文件的完整路径。
C:\> type C:\Python24\which.py
import sys, os
from stat import *
def msg( str ):
sys.stderr.write( str + '\n' )
def main():
pathlist = os.environ[ 'PATH' ].split( os.pathsep )
pathext = os.environ[ 'PATHEXT' ].split( os.pathsep )
if pathlist[ 0 ] != '.' :
pathlist.insert( 0, '.' )
for prog in sys.argv[ 1: ] :
try :
for dir in pathlist :
filename = os.path.join( dir, prog )
for ext in pathext :
program = filename + ext
try:
st = os.stat( program )
raise Exception( program )
except os.error:
continue
msg( prog + ': not found' )
except Exception :
msg( program )
if __name__ == '__main__':
main()
Let's find out what program gets executed
when you type "java" at the command prompt.
C:\> which java
C:\WINDOWS\system32\java.exe
缺少的链接
至此,您几乎拥有了使用Python脚本访问Derby数据库所需的一切。 您需要的最后一块是一个Python模块,该模块使用ODBC接口提供数据库支持。 Python网站上的主题部分包含有关使用Python访问数据库的信息。 此页面上的“ 数据库模块”链接包括该丢失的链接(双关语是预期的)。 mxODBC软件包是“ ...通过ODBC API可访问的数据库的接近100%符合Python DB API的接口”。
安装mxODBC软件包
- 在eGenix.com mx Python扩展页面上,点击基本软件包的下载链接。
- 单击Windows安装程序Python 2.4链接。
- 保存下载文件(例如:
egenix-mx-base-2.0.6.win32-py2.4.exe
)。 - 使用浏览器的后退按钮,然后从Commercial Package中选择Download链接。
- 单击Windows安装程序Python 2.4链接。
- 保存下载文件(例如:
egenix-mx-commercial-2.0.7.win32-py2.4.exe
)。 - 扫描下载的文件中是否有病毒。
- 成功扫描后,执行每个安装程序。
在某些系统上,尤其是Windows 2000系统,在安装mxODBC软件包的过程中可能会看到警告,提示您需要升级MDAC SDK软件。 在这种情况下,您可以使用以下过程从Microsoft®安装此代码的最新版本。
- 访问Microsoft ODBC页面。
- 选择下载 。
- 单击MDAC 2.8链接。
- 单击继续按钮。
- (可选)验证您的系统,然后单击“ 继续”按钮。
- 单击下载按钮。
- 将安装可执行文件(例如:
MDAC_TYP.exe
)保存在系统上。 - 对安装程序进行病毒扫描。
- 成功扫描后,执行安装程序。
- 阅读许可协议,选择“我接受...”,然后单击“ 下一步” 。
- 单击完成以开始安装。
- 安装后,重新启动计算机。
使用Python交互式连接到Derby
现在,您可以使用Python解释器尝试与之前使用ij实用程序和DB2 CLP相同的操作 。 这将向您展示使用Python连接到Derby数据库有多么容易。 请记住,首先要启动网络服务器,否则您可能会收到错误消息。
但是,首先,您需要了解连接请求中使用的一些参数:
表4:连接关键字参数
DSN | 数据源名称,如上面在配置ODBC中看到的那样。 此值标识ODBC连接请求将如何与DB2驱动程序相关联,而DB2驱动程序又将其与“远程”节点上的Derby Network Server相关联。 |
UID | 有效的用户ID。 该值将被发送到ODBC驱动程序,该驱动程序将基于DB2运行时客户端配置,将其转发给Derby Network Server进行身份验证。 由于尚未在Derby中启用用户认证,因此该认证仅用于标识要使用的初始SCHEMA 。 |
残障人士 | 指定用户标识的密码。 |
图5:Python会话
C:\> python
ActivePython 2.4.1 Build 245 (ActiveState Corp.) based on
Python 2.4.1 (#65, Mar 30 2005, 09:33:37) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mx.ODBC
>>> import mx.ODBC.Windows
>>> db = mx.ODBC.Windows.DriverConnect( 'DSN=sample;UID=SAMP;PWD=SAMP' )
>>> cursor = db.cursor()
>>> cursor.execute('select * from org')
>>> mx.ODBC.print_resultset( cursor )
Column 1 | Column 2 | Column 3 | Column 4 | Column 5
----------------------------------------------------------------------
10 | 'Head Office' | 160 | 'Corporate' | 'New York'
15 | 'New England' | 50 | 'Eastern' | 'Boston'
20 | 'Mid Atlantic' | 10 | 'Eastern' | 'Washington'
38 | 'South Atlantic' | 30 | 'Eastern' | 'Atlanta'
42 | 'Great Lakes' | 100 | 'Midwest' | 'Chicago'
51 | 'Plains' | 140 | 'Midwest' | 'Dallas'
66 | 'Pacific' | 270 | 'Western' | 'San Francisco'
84 | 'Mountain' | 290 | 'Western' | 'Denver'
>>> cursor.close()
>>> db.close()
>>>
To exit the Python interpreter, press Ctrl-Z.
>>> ^Z
Now that you have verified that things work as expected, you can
easily copy these same statements that you just tested interactively
into a file, e.g., mxORGtable.py, and use the python interpreter
to execute the script with no extra effort. For example:
C:\> type mxORGtable.py
import mx.ODBC
import mx.ODBC.Windows
db = mx.ODBC.Windows.DriverConnect( 'DSN=sample;UID=SAMP;PWD=SAMP' )
cursor = db.cursor()
cursor.execute('select * from org')
mx.ODBC.print_resultset( cursor )
cursor.close()
db.close()
C:\> mxORGtable
Column 1 | Column 2 | Column 3 | Column 4 | Column 5
----------------------------------------------------------------------
10 | 'Head Office' | 160 | 'Corporate' | 'New York'
15 | 'New England' | 50 | 'Eastern' | 'Boston'
20 | 'Mid Atlantic' | 10 | 'Eastern' | 'Washington'
38 | 'South Atlantic' | 30 | 'Eastern' | 'Atlanta'
42 | 'Great Lakes' | 100 | 'Midwest' | 'Chicago'
51 | 'Plains' | 140 | 'Midwest' | 'Dallas'
66 | 'Pacific' | 270 | 'Western' | 'San Francisco'
84 | 'Mountain' | 290 | 'Western' | 'Denver'
C:\>
正是您想要的位置。
摘要
在本文中,我展示了通过一些配置工作,您可以设置一个Windows环境,使我们可以访问Apache Derby,这是一个易于使用的开源关系数据库。 此外,您可以使用Python开发高级的,动态的,面向对象的程序,这些程序使我们可以连接到Derby并对其进行操作。
翻译自: https://www.ibm.com/developerworks/data/library/techarticle/dm-0505gibson/index.html
连接derby数据库

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)