爱飞 发表于 2015-1-16 22:36:52

MSSQL网站制作之数据库移植注重事项

这章描述如何检查和处理在MySQL数据库中的数据损坏。如果你的表损坏很多,你应该尝试找出其原因!见G.1调试一个MySQL服务器。数据|数据库1.1数据库移植注重事项1.1.1取前n笔记录
SQLServer:

Selecttopn*fromxtable

Oracle:

Select*fromxtablewhererownum<=n

DB2:

Select*fromxtablefetchfirstnrowsonly
1.1.2取以后日期
SQLServer:

Selectgetdate()

Oracle:

Selectsysdatefromdual

DB2:

Selectcurrenttimestampfromsysibm.sysdummy1
1.1.3毗连字符串
SQLServer:

SelectHello+Toone

Oracle:

SelectHello||Toonefromdual

DB2:

SelectHello||Toonefromsysimb.sysdummy1
1.1.4空值转换
SQLServer:

SELECTuserid,username,isnull(email,0)FROMAUTH_USER

Oracle:

SELECTuserid,username,nvl(email,0)FROMAUTH_USER

DB2:

SELECTuserid,username,value(email,0)FROMAUTH_USER
1.1.5范例转换
SQLServer:

SELECTconvert(varchar,getdate(),20)

Oracle:

SELECTto_char(sysdate,yyyy-mm-ddhh24:mi:ss)fromdual

DB2:

SELECTvarchar(currenttimestamp)fromsysibm.sysdummy1

注1:

■SQLServer直达换日期格局改动Style参数:20;

■Oracle直达换日期格局改动格局化参数:yyyy-mm-ddhh24:mi:ss

‘yyyy’、’mm’、’dd’、’hh12’、’hh24’、’mi’、’ss’等;

■Db2直达换日期格局改动体系常量:currenttimestamp

‘currentdate’、’currenttime’等;

注2:

■SQLServer数据范例改动“数据范例参数”:int、varchar等;

■Oracle数据范例改动函数:to_char()、to_date()、to_number()等;

■DB2数据范例改动函数:varchar()、int()、date()、time()等;
1.1.6取值判别
SQLServer:

selectcaseConvert=

casewheng.master_type=systemthen办理员

wheng.master_type=roletypethen特别脚色

else一般用户

end

fromglobal_codeg

Oracle:

selectcaseg.master_type

whensystemthen办理员

whenroletypethen特别脚色

else一般用户

end

AScaseConvert

fromglobal_codeg

DB2:



selectcaseg.master_type

whensystemthen办理员

whenroletypethen特别脚色

else一般用户

end

AScaseConvert

Fromglobal_codeg
1.1.7地位
SQLServer:

selectcharindex(E,ABCDEF)

selectpatindex(%E%,ABCDEF)

Oracle:

selectinstr(ABCDEF,E)fromdual

DB2:

Selectlocate(E,ABCDEF)fromsysibm.sysdummy1
1.1.8其他函数


SQLServer

Oracle

DB2

长度

Len()

Length()

Length()

取子串

Substring()

Substr()

Substr()


















1.2附1.2.1DB2V8.1经常使用命令
■创立数据库

在服务器上实行

db2CREATEDBoatemp

■删除数据库

在服务器上实行

db2DROPDBoatemp

■创立表空间

db2"CREATEUSERTEMPORARYTABLESPACEUSERSPACE1MANAGEDBYSYSTEMUSING(USERSPACE1)"

■启动数据库

切换用户

su–db2inst1

启动数据库:

db2start

■封闭数据库

切换用户

su–db2inst1

封闭数据库

db2stop

■创立远程办理节点

进进DB2命令窗口

db2CATALOGTCPIPNODEasnodeREMOTE10.1.22.176SERVER50000

db2CATALOGDBoadb2ASoadb2ATNODEasnode

■毗连数据库

db2CONNECTTOoadb2USERdb2inst1USINGibmdb2

■封闭数据库毗连

db2terminate

■实行剧本

db2-td!-vfioa2.db2-zinfo.log

■导出剧本

db2look-doadb2-idb2inst1-wibmdb2-e-oputsql.db2-tauth_user

db2look-doadb2-idb2inst1-wibmdb2-e-oputsq.db2

■检察正在利用的端口

netstat-a

■查询体系表

selectcount(*)fromSYSCAT.TABLESwhereTABSCHEMA=’DB2INST1’

selectcount(*)fromSYSCAT.PROCEDURESwherePROCSCHEMA=’DB2INST1’

■经常使用命令

DB2"SELECTDROPTALBE||TABNAMEFROMSYSCAT.TABLESWHERET

ABSCHEMA=DB2INST1ANDTYPE=T">db2droptables.db2



DB2"SELECTDROPVIEW||TABNAMEFROMSYSCAT.TABLESWHERET

ABSCHEMA=DB2INST1ANDTYPE=V">db2dropviews.db2



DB2–vfdb2droptables.db2–zinfo.log

db2"SELECTusernameFROMauth_userFETCHFIRST3ROWSONLY"



■启动JDBC

db2jstrtJDBCAPPLETSERVER6789(在服务器上实行)


MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。

不帅 发表于 2015-1-19 18:46:12

我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力

若天明 发表于 2015-1-28 09:26:40

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!

乐观 发表于 2015-2-5 15:27:27

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

谁可相欹 发表于 2015-2-12 14:20:19

语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!

分手快乐 发表于 2015-3-3 03:38:31

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

小女巫 发表于 2015-3-11 09:21:31

你可以简单地认为适合的就是好,不适合就是不好。

灵魂腐蚀 发表于 2015-3-18 03:13:25

只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。

简单生活 发表于 2015-3-25 10:25:11

还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
页: [1]
查看完整版本: MSSQL网站制作之数据库移植注重事项