Eclipse和MyEclipse配置derby数据库
- 格式:doc
- 大小:64.00 KB
- 文档页数:9
Derby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目。
由于是用Java实现的,所以可以在任何平台上运行;另外一个特点是体积小,免安装,只需要几个小jar包就可以运行了。
Derby数据库有两种运行模式:1)内嵌模式。
Derby数据库与应用程序共享同一个JVM,通常由应用程序负责启动和停止,对除启动它的应用程序外的其它应用程序不可见,即其它应用程序不可访问它;2)网络模式。
Derby数据库独占一个JVM,做为服务器上的一个独立进程运行。
在这种模式下,允许有多个应用程序来访问同一个Derby数据库。
在Apache上,Derby有4种发布包,这里以bin发布包为例。
bin发布包中含有包含了执行derby数据库工具、设置derby数据库环境的脚本文件、Demo、jar文件等。
1、安装Derby数据库只需要从Derby官方网站下载Derby的zip或者tar包,解压就可以了。
这里以db-derby-10.4.1.3-bin版本为例,解压后得到以下目录:1)bin目录,包含了一些工具脚本和设备环境的脚本;2)demo目录,包含了一些实例程序;3)docs目录,包含了Derby的文档;4)javadoc目录,包含了Derby的API文档;5)lib目录,包含了Derby数据库的jar文件;6)test目录,Derby的一些测试jar包;2、使用Derby脚本Derby提供了几个脚本来操作Derby数据库,在使用这些脚本前,你必须先设置好Derby的运行环境。
下面的例子都是在命令行下设置环境变量,这些设置都是临时的,如果你新开一个命令行窗口,则需要重新设置一遍,如果想要使环境变量永久生效,可以在我的电脑中进行设置。
首先设置好DERBY_HOME这个环境变量,为DERBY_HOME指定你的derby目录,假如你的derby解压到了E:\ db-derby-10.4.1.3-bin目录下,则可以在命令行中如下设置:set DERBY_HOME=E:\ db-derby-10.4.1.3-bin将DERBY_HOME\bin目录添加到PATH环境变量中:set path=%DERBY_HOME%\bin;%PATH%这样可以简化你稍后在命令行中的输入,否则你每次都必须使用脚本的全路径或者你必须到DERBY_HOME\bin目录中才能执行脚本。
Eclipse连接到Mysql数据库的操作总结配置数据库驱动Eclipse连接到MYSQL数据库的操作(⾃⼰亲测,开始学习Eclipse(我的Eclipse版本是4.5.2,Jdbc驱动器的jar包版本是5.1.7,亲测可以使⽤)连接到数据库的时候,发现⽹上有好多经验,但是发现⽹上的出现很多错误,故此发表此博客,希望对⼤家有所帮助)1:⾸选你需要下载Jdbc驱动器(mysql-connector-java-5.1.7-bin.jar)这个⽂件下载上⾯那个⽂件也是很是坎坷啊,所以为了你们的⽅便,特此分享。
2:下载好上⾯的Jdbc驱动器后,就可以开始动⼿操作了,⾸先打开Eclipse,创建⼀个Project,我的⼯程的名字叫做demo,右击⼯程demo,然后new找到Floder,然后如图然后将下载好Jdbc驱动器粘贴到这个lib⽬录下⾯,然后点击刚才粘贴的那个jar包,找到build path继续找到add to build path,如图:出现的结果如上图所⽰,这时添加完成之后,才可以使⽤Eclipse连接My sql数据库。
连接数据库代码如下(需要重点注意的是Connection connect=DriverManage.getConnection("jdbc:mysql://localhost:3306/test","root","密码"))上⾯那⼀句⾥⾯的"密码"是你的数据库⾃⼰的密码;需要⾃⼰修改⼀下,上⾯"jdbc:mysql://localhost:3306/test"⾥⾯的test是⾃⼰使⽤mysql创建的⼀个表,是⾃⼰创建的,需要额外注意;(创建my sql语句将在本博客的其他地⽅找到,敬请关注)1package com.ningmengxueyuan;23import java.sql.*;45public class MysqlJdbc{67public static void main(String args[]) {8try {9 Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动程序10//Class.forName("org.gjt.mm.mysql.Driver");11 System.out.println("Success loading Mysql Driver!");12 }catch (Exception e) {13 System.out.print("Error loading Mysql Driver!");14 e.printStackTrace();15 }16try{17 Connection connect = DriverManager.getConnection(18 "jdbc:mysql://localhost:3306/test1","root","123456");19//连接URL为 jdbc:mysql//服务器地址/数据库名,后⾯的2个参数分别是登陆⽤户名和密码2021 System.out.println("Success connect Mysql server!");22 Statement stmt = connect.createStatement();23 ResultSet rs = stmt.executeQuery("select * from user");24//user 为你表的名称25while (rs.next()) {26 System.out.println(rs.getString("name"));27 }28 }catch(Exception e) {29 System.out.print("get data error!");30 e.printStackTrace();31 }3233 }3435 }以上是初学的时候配置的,下⾯是⾃⼰已经熟练应⽤配置的,都可以运⾏,亲测。
前言:这个例子的view层用到了struts,DAO层用到了hibernate,由于逻辑及其简单(只是往数据库添加一条记录),所以暂时没有用到spring。
一、使用eclipse+struts+spring+hibernate+myeclipse+mysql开发配置过程。
1.jdk的安装:安装文件:jdk-1_5_0_15-windows-i586-p.exe说明:最好用jdk1.5,可以去sun主页下载,我这里已经下了,可以提供。
注意:最好在新装系统下安装,并且此前没有装过java相关的软件,以免出现版本或者path问题。
过程:可以直接安装到c盘根目录下即可,注意要记住安装路径,以后可能会用到。
2.web应用服务器tomcat的安装:安装文件:apache-tomcat-5.5.26.exe说明:要想构建jsp应用,web应用服务器是必须要有的,asp服务器为IIS,php服务器为Apache,jsp服务器比较多有weblogic和websphere(两者是商业级的,比较强大,但要收费),tomcat和resin(免费的,比较适用中小级应用,如果是大型应用则须考虑集群)。
在这里,我选用tomcat,因为它使用较广泛,网上相关的资料也比较多。
我并没有选择最新版本,原因是次新版本往往比最新版本更加稳定。
注意:必须先装jdk,否则不能安装tomcat(原因之一是tomcat在对jsp进行编译时用到了jdk,并且jdk是tomcat正常工作的前提)。
过程:可以直接安装到c盘默认路径,选择前面安装的jdk路径,并且修改端口8080为80(tomcat默认端口为8080,而一般我们通过IE访问时端口为80,需要注意的是要保证没有其他程序已经占用80端口(比如你已经装了iis或者apache),否则tomcat不能正常启动),控制台页面的管理员admin帐号暂时不设置密码。
测试页面http://127.0.0.1,检测是否安装成功,如果进入欢迎页面就表示tomcat安装成功。
在用MyEclipse连接数据库是,代码常
为Class.forName("net.sourceforge.jtds.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:jtds:sqlserver://localhost:1433/ "sa", "");
记住,数据库的名字要更改
在配置过程中,首先是对SQL Server2005的配置:
1 对登录安全性的配置
2 在Security下找到Logins启用sa帐户
3 打开SQL Server 2005外围应用配置器----服务和连接的外围应用配置器,
选择远程连接更改设置
再选择服务,重启服务
之后就可以用sa帐户登录到SQL Server2005中
4 对端口号的设置
打开SQL Server配置管理器
开启全部服务,并进入TCP/IP属性中更改端口号为1433
其次是在MyEclipse下的配置
1 连接数据库
2 打开控制面板选择ODBC并进入
点击客户端配置,将动态决定端口项取消
好了,大功告成!。
Eclipse+Tomcat+Mysql的配置初学j2ee,也许被它的环境配置被拦在之外,我就被这个问题折腾了好久,在google上不知道查了多少资料。
其实配完之后也没什么困难的。
我就是第一次配置这个环境(而且以前也特讨厌配置环境),就把我这个痛苦的经历写下来吧,希望大家不要象我一样在这上面花的时间太长。
我用的是Eclipse+Tom cat+Mysql,相信这些名字都不用我介绍了吧,这些都有开放的原代码到官方望站都能免费下载。
网址我就不说了。
1,安装jdk。
这是学习j2ee最基本的要素之一。
到sun网站赶快下载一个吧。
把解压缩后的文件放到一个目录下,我的都是放在f:\files下(当然你可以放到别的路径下)。
好了,安装jdk就这么简单。
2,安装Tom cat。
解压,同样放到f:\files下,然后双击jakarta-tom cat-4.1.30安装其中java Develop Kit的路径就是我们刚才的安装jdk。
(对了,他怎么会找到呢。
就要在1之后设置环境变量在来安装2。
依次打开桌面上的我的电脑>>属性>>高级下面的环境变量,如图所示增加三个系统变量变量名1:CLASSPATH 变量值:f:\files\jdk1424\tools.jar变量名2:JAVA_HOME 变量值:f:\files\jdk1424变量名3:PATH 变量值:f:\files\jdk1424\bin然后按照提示安装tom cat就ok了。
现在来测试你的安装是否是真的成功呢激活F:\files\Tom cat 4.1\bin下的startup可执行文件,用ie打开http://127.0.1:8080,如出现如图恭喜你,tom cat配置成功现在来测试你的jsp页面(testJSP.jsp)是否成功<%@page contentType="text/ht ml;charset=gb2312"%><ht ml><head><t itle>测试jsp运行环境</title></head><body><center>当前的时间是:<%=new java.util.Date()%></center></body></ht ml>注意:该文件放的路径要正确,\\webapps\ROOT下(小心别放在webapps下,可能就找不到文件)3,配置Eclipseeclipse是一个组件可和很多的plugins协同开发j2ee,先到eclipse官方网站下载一个吧,直接解压缩就可用了,别高兴的太早,这只不过是单个的eclipse,要与他的一些plugins一起才能发挥他强大的功能。
MyEclipse Derby 服务器:自动进行JDBC连接;可配置的启动选项。
是一个内嵌在MyEclipse中的数据库,据说性能优于Mysql和Access。
(Derby是小型数据库)下面介绍使用方法:1.启动数据库服务。
--就是点击启动tomcat服务器的那个“Run/Stop/Restart MyEclipse servers” 按钮。
然后“start” “MyEclipse Derby”。
启动后可以看到:2.打开Database Explorer视图,空白处右键选“new”。
3.配置数据库连接属性:其中,Driver name-随便起吧;Connection URL-test是要建立的数据库名称(不是已有的数据库名称,而是当前要新建的数据库名称);Username-随便写;Password-随便写;Jar包在:MyEclipse6.0安装目录\myeclipse\eclipse\plugins\com.genuitec.eclipse.derby_6.0.0.zmyeclipse60020070820\lib下;4.finish。
5.右键我们新建好的连接,选择“Open Connection...”。
6.右键“Connected to myderby”(myderby是上面我起的Driver name),选择“New Sql Editor”。
7.建表时类似Oracle,要将表建在某个登录权限下,例如:我上面写的用户名是“nanfeng”,我们现在要在nanfeng这个权限下建立一张表,可以这样做:8.下面是测试数据库是否建立成功,给出大家一个简单的测试类:好了,这样就做好了一个Derby的DEMO。
MyEclipse连接数据库是非常重要的下面我就讲解一下MyEclipse连接MySQL的方法,首先我们打开MyEclipse在工具栏上依次点击Window-->Open Perspective-->MyEclipse Database Explorer在左侧出现的空白处单击右键选择New...在新弹出的窗口里我们在Driver template下拉框中选择MySQL Connector/J在Driver name随便起个名字,Coonection URL填上数据库地址(最后那个test 是你要连接的数据库)User name,Password依次填上用户名,密码,点击Driver JARs右面的Add JARs选择你的数据库驱动,然后点击Finish这时我们在左面会看到新建的数据库,我们右键点击新建的数据库选择Open connection...出现一个新窗口我们输入刚才的用户名,密码,点击OK这时我们能看到在数据库中建的表,说明已经连接成功。
我们回到JAVA工程中(点右上角的有M 的图标选项就能快速打开)在我们需要用到驱动的项目中点击右键选择Build Path-->AddLibraries...然后在新弹出的窗口中选择User Library然后点击Next>然后点击右侧的UserLibraries...在新出现的窗口中点击右侧的New...我们给它随便起个名字,点击OK选择你新建的那个aaa_lib,然后点击右面的Add JARs...选择你的驱动,点击OK首先打开Myeclipse在工具栏上选择window->Show V iew->Other选择Myeclipse database双击DB Bowser在控制台部分多出DB Bowser,右击空白处选择new在弹出的界面中Driver template:MySQL Connector/]Driver name:填写连接的名字(随意)Connection url:jdbc:mysql://localhost:3306/数据库名其中localhost表示本地数据库,如果是远程的则填写对方地址数据库名表示你要连接的数据库的名称User name:rootpassword:密码然后添加jar包这个时候你可以测试一下连接单击Test Driver如果连接成功则点击finsh然后在控制台处右击你的连接名选择open connection这样你就将Myeclipse与数据库连接了三.环境配置首先,我要说明的是我现在tomcat的安装路径是: D:\Program Files\Java\Tomcat;JDK 的安装路径是:D:\Program Files\Java\j2sdk。
Derby数据库上机指导1.安装JDK6,配置环境变量path。
在Windows 操作系统桌面上,鼠标右键单机“我的电脑”,在“系统属性”对话框中编辑“path”环境变量,增加一项“C:\Program Files\Java\jdk1.6.0\bin”(根据JDK安装路径不同而不同)。
2.安装Derby 数据库系统安装JDK6,Derby DBMS就自动安装了,缺省文件夹为:3.配置运行环境简单的方法是将下面两个文件:拷贝到:4.进入Derby 命令行环境1)运行“cmd”进入操作系统控制台:2)键入命令java org.apache.derby.tools.ij3)创建数据库:键入命令connect …jdbc:derby:mySchool;create=true‟; “mSchool”是数据库名称,create=true 意为创建数据库,create=false 意为连接数据库。
4)创建数据表键入命令create table student(SID varchar(10),SName varchar(10),Ssex varchar(2));如下图,即在数据库mySchool中建立一个表student。
5)向student表中插入数据insert into student values (“20070001”,”kevin”,”男”);6)查看记录select * from student;7)删除记录delete from student where SName=‟tom‟;5.编写Java程序访问Derby数据库。
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class DerbyTest{public static void main(String[] args){DerbyTest testClient=new DerbyTest();testClient.showZipCodes();}public void showZipCodes(){try{String driver="org.apache.derby.jdbc.EmbeddedDriver";Class.forName(driver).newInstance();Connection conn=null;conn=DriverManager.getConnection("jdbc:derby:mySchool");Statement s=conn.createStatement();ResultSet rs=s.executeQuery("SELECT * FROM student");while(rs.next()){System.out.println("序号:"+rs.getInt(1));System.out.println("名字:"+rs.getString(2));System.out.println("性别:"+rs.getString(3));System.out.println();}rs.close();s.close();conn.close();}catch(Exception e){System.out.println("Exception: "+e);e.printStackTrace();}}}2009-5-27 8:52 于广州大学华软软件学院金桂圆2408。
JSP:tomcat+mysql+eclipse的环境配置一直渴望能够学习JSP,无奈入门前就被配置环境拒于门外了!花了很多时间(555..是我太笨了!!!),找了大量资料,网上的、书本上的,发觉很多都很不完整,而且不够详细。
终于经过耐心的重复试验配置安装,把工具搞好了!这份成功的喜悦不敢独亨,特写下此文献给所有曾在浩瀚配置资料中迷惘,而且仍然被配置环境配置为难的初哥们。
以此文作为鼓励!也好作为本鸟起步的经验总结!本文WIN2000/XP+J2SDK1.4.2/1.5+TOMCAT5.0.28/5.5.9+MY SQL4.1+ECLIPSE3.02/3.1上通过,版本的不同对配置影响很少。
由于,TOMCAT5.5的ADMIN包要自己下载所以建议用0.28版的。
配置是烦人的,所以不必一次配置完成,这样是很费神很累的,一步步慢慢来吧!最后,由于本人也是菜鸟,文本中的错误欢迎前辈与高手们斧正!!!希望本文对你有帮助!!!第一步:(软件的准备)J2SDK(下载网址:/j2se/)TOMCAT(下载网址:/dist/jakarta/)MYSQL(/downloads/)MYSQL-CONNERCTOR-JAVA(/downloads/)ECLIPSE-SDK(下载网址:/download/)Tomcat插件(tomcatPluginV31.zip)Sysdeo Eclipse Tomcat Launcher plugin(下载网址:/eclipse/)这里我使用的是J2SDK1.4.2。
08+和TOMCAT5.0.28+ECLIPSE3.1+tomcatPluginV31(BETA)-------另外,ECLIPSE3.0.2版本有中文插件(NLpack-eclipse-SDK-3.0.x-win32.zip)下载网址是:rmatik.rwth-aachen.de/eclipse/downloads/drops/L-3.0.1_Translatio ns-200409161125/结合ECLIPSE3.0.2版就可以用(中文插件放在Plugins下);还有Lomboz插件支持JSP语法高亮显示,Tanghan一个ECLIPSE的数据库管理插件,Jboss一个J2EE服务器软件。
网上有很多关于derby数据库的安装和配置,但我试了试,那些都不怎么好用,总是连接不上,所以自己做了一个,希望能帮到一些和我一样的新手!第一步: 安装derby 数据库(由于它是一个绿色版本的,所以你直接把它解压开就行了,然后把解压后的文件夹放到你经常装软件的地方就OK了)我的就直接放在了D盘的根目录下(“db-derby-10.8.2.2-bin“这是解压后的文件夹名字,很多人都更改了,但是我建议不要改,这样就直接知道我们安装的derby数据库的版本号是10.8.2.2了)第二步:设置derby的环境变量右键点击“我的电脑”选择“属性”,然后选择“高级”你会看到如下界面:点击“环境变量”你会看到如下界面:一般我们都是第一次安装derby 数据库,所以接下来点击“系统变量”的“新建”照这个图,把里面的东西填写好(“变量值”就是你把之前的那个文件夹放到的位置,我的就是D盘根目录)然后一直点击确定,直到退出环境变量的设置就可以了。
CLASSPATH ==.;%DERBY_INSTALL%\lib\derby.jar; %DERBY_INSTALL%\lib\derbytools.jar;%DERBY_INSTALL%\lib\derbyclient.jar; %DERBY_INSTALL%\lib\derbynet.jar;然后把DERBY_HOME放到path中,点击确定第三步:在DOS窗口中进行简单得测试,目的只是为了看看有没有连接上一点进入到你的lib文件夹下后才能测试,如果你不是D盘根目录,一定要进入到你在的目录中。
第四步:在MyEclipse 中配置derby 数据库打开MyEclipse,然后把视图转为“MyEclipse Database Explorer”;你会看到这个界面:接下来右键点击MyEclipse Derby 然后选择“edit”我们需要改变的只有两个地方:首先将里面的jars包Remove掉,然后再点击“Add JARs”在弹出的窗口中找出你的derby.Jar的位置添加进来。
内部资料不得拷贝Eclipse 工具教程AURISOFT(一)我们选择窗口--首选项—MyEclipse—Database Explorer图一这里面有两处需要注意的地方1、第一处我们可以取消对查询数据的限制。
默认2000,代表最多显示查询数据的行数为2000。
默认80,代表最多显示数据库里面80张表。
2、第二处当取确定连接的数据库时自动的读取数据库原数据(二)选择Database Explorer 内的Drivers图二(三)我们选择到Microsoft MSSQL Server JDBC Driver,来对他进行编辑图三图五在这里,我们要注意的就是这连个地方一个是RUL的填写,然后是驱动器名字的填写。
图六这个时候我们选到Extra Class Path(特定的类路径),这个时候我们要添加连接数据库所需要的驱动包,也就是.jar文件。
我们选择new来添加。
图七在弹出的选择框选择我们需要的数据库驱动包文件,在这里我们要引入的应该是MSSql Server的直连驱动包。
就是我们看到的这三个包。
(在这里我们只能一个一个的引入)图八我们已经成功引入了一个包,让我们把需要的包都引入进来。
图九这个时候我们的配置工作就算告一段落。
我们选择确定,然后选择应用。
图十这时我们可以通过ER-Designer这个选项来作一些字体和文字颜色的选择。
下面我们学习怎么样来在eclips里队数据库进行操作,我们还是要先配置一些事情。
我们在工具栏上看到这样的一个图标。
如果没有这样的图标,我们就在图十一图十二里面来选择它把它添加到工具栏上。
图十三图十四在我们的DB Browser透视图区,我们选择new来新建一个与数据库的连接图十五1.输入MSSQL Server(可任意填写)作为Profile Name2.选择一个MSSQL的JDBC驱动注意:这个驱动必须是一个能激活的驱动配置3.当我们填写Driver的时候,下边的URL将会自动被添加。
使用MyEclipse连接数据库MyEclipse也可以直接连接数据库,执行SQL,这样方便多了,开发的时候就可以直接查看数据了,要不然还点单开软件(Toad之类的)。
我电脑配置不高,刚好节省资源。
一、配置步骤:1,依次点开Windows->Preferences->MyEclipse->Database Explorer->Database Drivers 将会出现下面界面,如下图:2,然后再点击DB Browser,截止会在MyEclipse界面上显示一个DB Browser窗口;默认会有一个教MyEclipse Derby,是MyEclipse自带的一个关系数据库;在此处右击鼠标会出现菜单,New,Edit之类的,如下图:图中的access_student_manager、mysql_student_manager则是我自行建立的数据库连接。
3,点击菜单中的New,会弹出Database Driver窗口,进行配置数据库驱动参数,如URL,driverClassName。
首先选择数据库驱动类型(Driver template),自定义名称(Driver name),url,userName,password,然后需要添加驱动的jar包。
添加完jar包后,才可以去选择Driver classname。
下图为连接access的配置截图下图为连接mysql的配置截图4,配置完成后,点击new会让我们选择数据库,默认是all,我一般选择Display the selected schemas,自己选择数据库,因为可能一个连接下面有很多个库。
选择Display the selected schemas后,需要在点击add按钮把数据库添加到列表中,然后finish就OK了。
然后再DB Driver窗口中双击我们刚建好的数据库链接,来打开它。
5,此时就可以执行sql了,先建立一个sql文件,打开方式是,MyEclipse SQL Editor,写一段SQL后,需要在上面的Connection、Catolog和CmdSep。
Eclipse和MyEclipse配置derby数据库今天看到一个文档,里面给了一个例子,使用的是derby数据库,开发工具是Eclipse(3.3.0)在做项目用的是MyEclipse(6.0)为了能看看其功能,我就照配了下环境,发现了几个容易出错的问题,首先是把derby的插件复制到MyEclipse的plugins包下,然后在MyEclipse 目录打开mylipse.ini配置文件:-showsplashcom.genuitec.myeclipse.product--launcher.XXMaxPermSize256M-vmargs-Dosgi.requiredJavaVersion=1.5-Xms128m-Xmx512m-Dosgi.splashLocation=e:/MyEclipse 6.0.0M1/eclipse/MyEclipseSplash.bmpnguage=en-XX:PermSize=128M-XX:MaxPermSize=256M在256M下加入-clean,这里注意了,刚刚开始我是加在256M上面,但是重启了几回MyEclipse,就是加不进来,后来加在下面就好了,原因我现在还没弄明白呢,有高手望指教!配置好后,重启MyEclipse,右击项目,如果出现Apache Derby选项就是配置成功了!然后把它加载到项目中,在运行的时候要注意,一定要先启动MyEclipse的tomcat,然后才启动derby数据库,因为MyEclipse比较霸道,总认为自己是第一个启动的连接,所有如果先启动derby数据库,MyEclipse的tomcat就无法启动了!另外,如果是Eclipse的话,配置基本一样,就是在运行项目时,可以不分先后启动derby 数据库和Eclipse的tomcat,因为Eclipse的tomcat不抢占第一连接!尤其是注意一点,非常重要,以上配置好后,点击myeclipse的快捷方式后会弹出java无法创建虚拟机的英文提示,这是不要点它的快捷方式,点击C:/Program Files/MyEclipse 6.0/eclipse下的eclipse的快捷方式即可进入。
Oracle:Select * from TableName where rownum <= N;DB2:Select * from TableName fetch first N rows only;2、取得系统日期Oracle:Select sysdate from dual;DB2:Select current timestamp from sysibm.sysdummy1;3、空值转换推荐文章:/modules/article/articlelist.php?class=1Oracle:Select productid,loginname,nvl(cur_rate,'0') from TableName ;DB2:Select productid,loginname,value(cur_rate,'0') from TableName;Coalesce(cur_rate,'0')4、类型转换(8版有了to_char,to_date,9版新增了to_number)Oracle:select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual; DB2:select varchar(current timestamp) from sysibm.sysdummy1;l Oracle数据类型改变函数:to_char()、to_date()、to_number()等;如果仅仅取年,月,日等,可以用to_char(sysdate,'YYYY'),to_char('MM') ,to_char('DD')取得。
只取年月日TRUNC(SYSDATE),取时分秒TO_CHAR(SYSDATE,'HH24:MI:SS')。
l DB2数据类型改变函数:char()、varchar()、int()、date()、time()等;取得年,月,日等的写法:YEAR(current timestamp),MONTH(current timestamp),DAY(current timestamp),HOUR(current timestamp),MINUTE(current timestamp),SECOND(current timestamp),MICROSECOND(currenttimestamp),只取年月日可以用DATE(current timestamp),取时分秒TIME(current timestamp)。
Char()是定长字符串(1-255),varchar()为非定长字符串(1-32672)日期,时间形态变为字符形态: char(current date),char(current time)将字符串转换成日期或时间形态:TIMESTAMP('2002-10-2012:00:00'),DATE('2002-10-20'),DATE('10/20/2002'),TIME('12:00:00')l 目前DB2 V8也支持to_char和to_date5、快速清空大表Oracle:truncate table TableName ;DB2:alter table TableName active not logged initially with empty table; 6、关于ROWIDOracle它是由数据库唯一产生的,在程序里可以获得DB2 v8也有此功能。
7、To_NumberOracle:select to_number('123') from dual;DB2:select cast('123' as integer) from sysibm.sysdummy1;SELECT CAST ( current time as char(8))FROMsysibm.sysdummy18、创建类似表Oracle:create table a as select * from b ;DB2:create table a like b ;CREATE TABLE tab_newAS selec t col1,col2…FROMtab_old DEFINITION ONLY (8版有效,9版无效)9、decode方法Oracle:decode方法(DECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值))或者case语句DB2中只有CASE表达式SELECT id ,name ,CASEWHEN integer(flag)=0 THEN ‘假’WHEN integer(flag)=1 THEN ‘真’ELSE ‘异常’ENDFROM TEST或者SELECT id ,name ,CASE integer(flag)WHEN 0 THEN ‘假’WHEN 1 THEN ‘真’ELSE ‘异常’ENDFROM TEST10、子查询(8版,9版也支持子查询)Oracle:直接用子查询Db2:with语句WITH a1 AS(select max(id) as aa1 from test )本文转自:/modules/article/toplist.php?sort=allvisit3、replace关键字oracle支持,DB2不支持create or replace语句在DB2下是非法的4、子查询别名ORACLE 支持select * from(select 1 from dual) 或者select * from(select 1 from dual) tDB2 支持select * from(select 1 from sysibm.sysdummy1) t 或者select * from(select 1 from sysibm.sysdummy1) as t固兼容的写法是select * from(子查询) t5、DATE数据类型的区别ORACLE中DATE型也是带有时分秒的,但DB2下DATE只是年月日,如'2007-04-28',且可作为字符串直接操作,DB2中要记录时分秒必须采用TIMESTAMP型一个采用hibernate后常见的兼容问题是:如果在映射文件中定义了某个字段为Date型<property name="createTime" type="java.util.Date" ><column name="CREATE_TIME" length="7" /></property>则在DB2下,此字段必须定义为timestamp,而不能定义成DATE,不然会报出字符串右截断的错误对于DB2来说,在查询条件中可以直接用字符串指定日期或时间戳类型字段的值,例如where create_date = '2007-04-26' 、wherecreate_timestamp = '2007-04-26 08:08:08' ,无须使用字符串转日期函数6、分页的处理如果采用JDBC分页的话,注意rownum在DB2中不受支持,比如从masa_area表中取得area_id最小的10条记录,语句分别如下,注意这里的别名t书写方法ORACLE: select t.* from (select rownum as r1 ,masa_area.* frommasa_area order by area_id) t where t.r1<=10DB2: select t.* from (select rownumber() over() as r1 ,masa_area.* from masa_area order by area_id) t where t.r1<=107、decode函数decode函数在DB2不被支持,兼容的写法是采用case when8、NVL函数nvl写法在DB2不被支持,兼容的写法是采用coalesceORACLE: select NVL(f_areaid,'空') from masa_user 等同于select coalesce(f_areaid,'空',f_areaid) from masa_userDB2: select coalesce(f_areaid,'空',f_areaid) from masa_user9、substr的不同DB2 substr举例如下:masa_group表的f_groupCode字段定义成VARCHAR(100),所以下面这个语句不会出错,如果是substr(f_groupCode,1,101)就出错了select * from masa_group where substr(f_groupCode,1,50) = '001006' order by f_groupcode在DB2下无错,但是select * from masa_group where substr('001006', 1, 50) = '001006' order by f_groupcode就报错,说第三个参数超限这是因为'001006'已经定义为一个长度为6的charater了这点和ORACLE有很大不同,请大家注意如果是要从第一位取到最后一位,稳妥的办法是不要加第三个参数ORACLE:select substr('123456',1) from dualDB2:select substr('123456',1) from sysibm.sysdummy1都没有问题。