分手快乐 发表于 2015-1-16 22:41:30

MYSQL网页设计ORACLE中BFILE字段的利用研讨

你不用花费很多时间和金钱来培训现有的职工,或者去花大价钱雇用那些拥有各种证书的开发者。因为MySQL的维护和管理在很大程度上是“傻瓜型”的。oracle
由于做项目,必要利用BFILE字段存储图象文件,以是举行了一些研讨。


bfile字段实践的文件存储在文件体系中,字段中存储的是文件定位指针.bfile对



oracle来讲是只读的,也不介入事件性把持和数据恢复



bfile的基础操纵以下:





1.先在oracle数据库中上面我们创建一个目次别号,用于将文件定位指针映照到文



件体系:



createDIRECTORYtmpdirAS/tmp;

tmpdir暗示逻辑目次名,/tmp是实践目次。注重该目次oracle应当有读权限



然后依据必要受权

GRANTREADONDIRECTORYbfile_dir1TOscott;

创建一个含有bfile字段的表

createtablebfiletest(idnumber(3),fnamebfile);

创建一个含有BLOB字段的表


createtableblobtest(idnumber(3),ablobblob);

2.拔出数据

这里必要利用bfilename来举行bfile字段的insert大概update操纵



INSERTINTObfiletest

VALUES(1,BFILENAME(tmpdir,tmptest));



bfilename的参数1是DIRECTORY名,参数2是文件名。注重:这一行中拔出的是



一个指向/tmp/tmptest的文件定位指针映照,不是文件自己。



3.读取bfile



经由过程利用dbms_lob包举行能够对bfile读进到blob/clob工具中操纵(只读)

CREATEORREPLACEPROCEDUREloadLOBFromBFILE_proc(
TIDINNUMBER,rfilenameinvarchar2,rfiledirinvarchar2,upmessageoutvarchar2)
AS
Dest_locBLOB;
Src_locBFILE;
BEGIN
INSERTINTOBLOBTEST(ID,ABLOB)VALUES(TID,EMPTY_BLOB())RETURNABLOBINTODEST_LOC;

Src_loc:=BFILENAME(rfiledir,rfilename);


/*假如bfile文件实践存在*/
IF(DBMS_LOB.FILEEXISTS(Src_loc)!=0)
THEN
/*翻开bfile源文件*/
DBMS_LOB.OPEN(Src_loc,DBMS_LOB.LOB_READONLY);
/*翻开方针blob:*/
DBMS_LOB.OPEN(Dest_loc,DBMS_LOB.LOB_READWRITE);
/*从文件中装进*/
DBMS_LOB.LOADFROMFILE(Dest_loc,Src_loc,DBMS_LOB.GETLENGTH(Src_loc));
/*记得封闭:*/
DBMS_LOB.CLOSE(Dest_loc);
DBMS_LOB.CLOSE(Src_loc);
COMMIT;
upmessage:=0;
ENDIF;
EXCEPTION
WHENOTHERSTHEN
ROLLBACK;
upmessage:=操纵失利;

END;
当然,或许这并不是我们拒绝MySQL的一个有说服力的MySQL学习教程,但是对于一些比较守旧的IT经理来说,在为一些关键业务选择平台的时候,平台的成熟性却是必须要考虑的一个因素,在这一点上,MySQL无疑毫无优势。

若相依 发表于 2015-1-19 21:15:15

每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。

飘灵儿 发表于 2015-1-25 09:34:30

比如日志传送、比如集群。。。

小魔女 发表于 2015-2-2 19:11:00

个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。

老尸 发表于 2015-2-8 04:25:21

还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。

冷月葬花魂 发表于 2015-2-24 05:49:10

这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?

若天明 发表于 2015-3-7 11:33:32

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

兰色精灵 发表于 2015-3-15 02:49:56

sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西

灵魂腐蚀 发表于 2015-3-21 17:15:04

对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。
页: [1]
查看完整版本: MYSQL网页设计ORACLE中BFILE字段的利用研讨