PDA

View Full Version : جستجوی یک عبارت در فیلدی که از طریق stream در دیتابیس ذخیره می شود



mosafer_deltang
سه شنبه 18 مهر 1391, 16:18 عصر
با سلام خدمت اساتید محترم
یک فیلد در اکسس از نوع OLE Object (یا همون Blob) دارم. برای اینکه بتونیم فایل های rtf را با فرمت دلخواه در بانک ذخیره کنیم از stream یا روش های دیگه ای که دوستان گفتند استفاده می کنیم:

http://barnamenevis.org/showthread.php?213825-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-Richtext-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%A8%D8%A7-%D9%82%D8%A7%D9%84%D8%A8-%D8%AE%D9%88%D8%AF%D8%B4&highlight=RichEdit

حالا آیا میشه در این فیلد که دیگه از نوع متنی نیست، یک عبارت را جستجو کرد؟ مثلا به صورت زیر:


select * from table1 where field1 like '%علی%'


اگه امکانش نیست، چه راهی به من پیشنهاد میکنید تا هم بتونم فرمت رو در دیتابیس داشته باشم و هم امکان جستجو به صورت بالا

mohsen24000
سه شنبه 18 مهر 1391, 21:19 عصر
متن بدون فرمت را در یک فیلد جدا بایستی نگهداری کنید تا امکان فول تکست سرچ براتون فراهم بشه...

mosafer_deltang
سه شنبه 18 مهر 1391, 22:19 عصر
متن بدون فرمت را در یک فیلد جدا بایستی نگهداری کنید تا امکان فول تکست سرچ براتون فراهم بشه...

یعنی به نظر شما دو تا فیلد بذارم یکی برای نمایش و یکی برای جستجو
این به نظرم رسید ولی اینجوری حجم دیتابیس دو برابر میشه

mohsen24000
سه شنبه 18 مهر 1391, 22:49 عصر
حجم دو برابر نمیشه، چون متن بدون فرمت فایل RTF کمتر از خودش حجم داره. در ضمن شما میتونید محتویات فیلد Blob رو قبل از وارد کردن به دیتابیس اون رو کمپرس کنید و موقع بازیابی از حالت فشرده در بیارید و نمایش بدید.
البته بعضی از دیتابیس ها هستند که خودشون قابلیت فشرده سازی فیلدهای Blob رو دارند.