仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1029|回复: 10
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之全文索引image列,全攻略!

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:28:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。如果你想要检查一张表,你通常应该没有选项地运行myisamchk或用-s或--silent选项的任何一个。攻略|索引
明天“千载难逢”的停电了,看了一天书。早晨弄了一下全文索引,决意把心得贴出来,我只管写的具体,人人配合进修,接待斧正!

1、启动MicrosoftSearch服务
入手下手菜单-->SQL程序组-->服务办理器-->下拉筐-->MicrosoftSearch服务-->启动它

2、
..MicrosoftSQLServerMSSQLFTDATAQLServerConfig目次里建一个非空noise.chs文件
非空noise.chs文件,也有人说是空的noise.chs文件,但我每次都往里写几个没用的字母。

3、创建情况
翻开查询剖析器-->实行以下剧本:
--------------------------------------------
createdatabasetest---创立test数据库
usetest---选择test数据库
createtabledali(IDintnotnullprimarykey,MyImageimage,FileTypevarchar(255),FileNmaevarchar(255))---创立dali表
--dali表中Id,MyImage,FileType三列是必需的,由于要对image列索引的话,必需要有一个主键列,一个image列,一个寄存文件范例的列
--我们晓得在windows体系中文件范例是靠扩大名来辨别的以是FileType列也就是用来放文件的扩大名
--------------------------------------------

sp_fulltext_databaseenable--为全文索引启用数据库
sp_fulltext_catalogMy_FullDir,create---创立一个叫My_FullDif的全文目次

declare@Keysysname;select@Key=c.namefromsyscolumnsa,sysconstraintsb,sysobjectscwherea.id=object_id(dali)anda.name=IDanda.id=b.idandb.constid=c.idandc.namelikePK%
execsp_fulltext_tabledali,create,My_FullDir,@Key----这两句是为全文索引,对表举行标志

sp_fulltext_columndali,MyImage,add,0x0804,FileType---这句是指定MyImage列为全文索引列,FileType是范例列
------------------------------------------------
4、在c盘下放一个扩大名为doc的word文件,一个扩大名为xls的excel文件,一个扩大名为htm的网页文件,个扩大名为bmp的图片
共4个,人人可依据实践情形放进!

5、拔出数据
创建上面这个存储历程
--------------------------------------------------
CREATEPROCEDUREsp_textcopy
@srvnamevarchar(30),
@loginvarchar(30),
@passwordvarchar(30),
@dbnamevarchar(30),
@tbnamevarchar(30),
@colnamevarchar(30),
@filenamevarchar(30),
@whereclausevarchar(40),
@directionchar(1)
AS
/*这是利用textcopy工具将文件拔出到数据库中,假如有前台工具能够用前台开辟工具将文件拔出,这里为了演示*/
DECLARE@exec_strvarchar(255)
SELECT@exec_str=textcopy/S+@srvname+/U+@login+/P+@password+/D+@dbname+/T+@tbname+/C+@colname+/W"+@whereclause+"/F"+@filename+"/+@direction
EXECmaster..xp_cmdshell@exec_str
----------------------------------------------------

insertdalivalues(1,0x,doc,鼎力的doc)---个中第二列是0x它是一个16进制数对应image列,是必需的,不要写null,第三列是文件范例,既扩大名

sp_textcopy你的服务器名,sa,你的暗码,test,dali,MyImage,c:鼎力的doc.doc,whereID=1,I
-------顺次参数是:实例名,用户名,暗码,数据库名,表名,image列名,路径及文件名,前提(你必需包管它只选择一行),I
---------------------------------------------------------------------------------------------------------------------
insertdalivalues(2,0x,bmp,图片)
sp_textcopy你的服务器名,sa,你的暗码,test,dali,MyImage,c:图片.bmp,whereID=2,I--注重前提是ID=2

insertdalivalues(3,0x,xls,Excel文件)
sp_textcopy你的服务器名,sa,你的暗码,test,dali,MyImage,c:Excel文件.xls,whereID=3,I--注重前提是ID=3

insertdalivalues(4,0x,htm,网页)
sp_textcopy你的服务器名,sa,你的暗码,test,dali,MyImage,c:网页.htm,whereID=4,I--注重前提是ID=4

----------下面的语句,要包管范例一样,路径准确,前提独一准确应当就能够了

6、添补全文索引

sp_fulltext_tabledali,start_full---第一个参数是表名,第二个参数是启动表的全文索引的完整添补

7、能够入手下手你的实行了

select*fromdaliwherecontains(MyImage,J先生)

select*fromdaliwherecontains(MyImage,海先生)

------END----------
--调试情况:SQLServer2000企业版、Windows2000初级服务器

提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
山那边是海 该用户已被删除
沙发
发表于 2015-1-19 13:51:56 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-19 13:51:57 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
若天明 该用户已被删除
地板
发表于 2015-1-19 13:52:00 | 只看该作者
也可谈一下你是怎么优化存储过程的?
再见西城 该用户已被删除
5#
发表于 2015-1-25 07:56:17 | 只看该作者
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
分手快乐 该用户已被删除
6#
发表于 2015-2-2 18:10:10 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
愤怒的大鸟 该用户已被删除
7#
发表于 2015-2-8 03:59:01 | 只看该作者
发几份SQL课件,以飨阅者
小女巫 该用户已被删除
8#
发表于 2015-2-24 05:08:34 | 只看该作者
分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。
老尸 该用户已被删除
9#
发表于 2015-3-7 10:55:33 | 只看该作者
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
飘飘悠悠 该用户已被删除
10#
发表于 2015-3-15 02:04:21 | 只看该作者
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
海妖 该用户已被删除
11#
发表于 2015-3-21 17:00:01 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 18:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表