DB2和SQL Server
以前对SQL Server研究比较多,一般使用ado去连接sql server,但是对DB2却没有任何研究。不过在IBM只能用DB2,而且需要用java中的jdbc去连接,里面遇到了很多问题。
1, SQL语句不同。 SQL Server支持Transact SQL, 而在DB2上用的是ANSI SQL,所以有很多不同。首先是字符串上,SQL Server用的是双引号,DB2是单引号。其次 DB2不支持SELECT INTO,只能使用INSERT INTO。
2,存储过程的生成,DB2可以用C/SQL/JAVA来写存储过程,SQL Server 2000只能用SQL, 不过下个版本的Yukon可以用.NET的语言来写SQL 存储过程。 DB2将SQL的存储过程通过Visual C++的nmake或者其他C编译器编译成C代码,而SQL Server却不需要。
3,感觉上JDBC和ADO都差不多,JDBC用Connection,Statement, ResultSet来连接处理数据库, ADO用Connection, Recordset,在ADO.NET里还有DataAdaptor和DataSet,用起来也没啥太大区别,很多东西可能我还没有用到。
4,从用户界面上来说,DB2看上去有无数个工具,什么监视,开发,命令行,控制中心,任务中心等等。不过居然不给出IDE让人手工输入数据(不知道他怎么想的),SQL Server的Enterprise Manager把大部分的东西都集成在一起,可以实现很多功能。
5,从运行速度上来说,在记录非常少的情况下,DB2的速度很慢,让人觉得很诧异,以至于我们的服务器动不动就慢得没有响应,不知道这个是为什么。不过可以肯定的是,DB2比SQL Server更消耗资源。
