PDA

View Full Version : DBISam



nima_trade
چهارشنبه 12 اسفند 1383, 14:43 عصر
لطفاً در مورد DBISam توضیح دهید
چی است؟
چه کاربردی دارد ؟
چه امکاناتی دارد؟؟
و ....

مهدی کرامتی
چهارشنبه 12 اسفند 1383, 19:08 عصر
http://www.elevatesoft.com

nasr
چهارشنبه 12 اسفند 1383, 19:59 عصر
اگه یه جستجو بفرمایید توی همین سایت یه 100 تا موضوع در این مورد پیدا می کنی

moonplant
پنج شنبه 30 خرداد 1387, 23:36 عصر
اگه یه جستجو بفرمایید توی همین سایت یه 100 تا موضوع در این مورد پیدا می کنی
اما تو همه ی 100 تاش نوشته شده "قبلا توضیح داده شده، لطفاً سرچ بفرمایید" :قهقهه:

ممنون میشم اگر لینکش را بگذارید.

و اگر این سوال قبلاً مطرح نشده:
ISAM تو فایل exe برنامه embed میشه؟ یعنی یک فایل دیتابیس جداگانه مربوط به ISAM داریم یا نه؟ و اینکه سرعت عملیات دیتابیسی مثل جستجو، اضافه کردن رکورد و... در آن نسبت به access و ms sql و my sql چطوری هستش؟ query های sql را هم قبول می کند؟
-خیلی ممنون

HadiDelphi
جمعه 31 خرداد 1387, 08:53 صبح
نه DBISAM فایل مربوط به بانک اطلاعاتی رو تو فایل EXE برنامه embed نمی کنه و فایل بانک اطلاعی جداگانه است . در مورد سرعت من تا حالا تست نکردم و لی query های Sql رو پشتیبانی میکنه

moonplant
چهارشنبه 05 تیر 1387, 15:52 عصر
سلام
-اینکه گفتید dbIsam فایل بانک اطلاعاتی جدا گانه ای دارد.... آیا در کامپیوتر کاربر بایستی نرم افزار مربوط به این بانک اطلاعاتی نصب باشد؟ من با msAccess هیچ مشکلی ندارم غیر از اینکه برای اجرا شدن برنامه ام بایستی در کامپیوتر کاربر access را نصب کنم. بخاطر همین می خواستم ببینم که آیا DBIsam این مساله را حل می کند یا نه؟

- DBIsam از فارسی پشتیبانی می کند؟ با کامپوننت های TNT مشکلی ندارد؟ اگر بخواهم درون دیتا بیسم فارسی بنویسم، حتماً باید در تب advanced واقع در regıonal and languages optıons فارسی را انتخاب کنم؟

- با تشکر فراوان

vcldeveloper
چهارشنبه 05 تیر 1387, 17:03 عصر
غیر از اینکه برای اجرا شدن برنامه ام بایستی در کامپیوتر کاربر access را نصب کنم.
لزومی نداره برنامه Access را در سیستم کاربر نصب کنید! دیتابیس Access برای کار کردن روی سیستم کاربر نیاز به Jet Engine داره که بطور پیش فرض با ویندوز نصب میشه. فقط اگر برنامه شما از نسخه های جدید این دیتابیس استفاده میکنه، و سیستم کاربر از نسخه های قدیمی Jet Engine، در اون صورت مجبورید Jet Engine نسخه جدید را روی سیستم کاربر نصب کنید. Jet Engine از سایت مایکروسافت قابل دانلود هست.

دنیای دلفی
چهارشنبه 05 تیر 1387, 18:01 عصر
DBISAM

در اين مقاله ميخواهيم شما را با DBISAM ، پديده دنياي بانكهاي اطلاعاتي آشنا كنيم. يك راست و بدون مقدمه ميرويم سر اصل مطلب. اين ليست قابليتهاي اين Database Engine است:




پشتيباني كامل 100 زبان بين المللي ( از جمله فارسي و انگليسي )
پشتيباني تاريخ هجري شمسي
ايندكس و سورت صحيح فارسي
تنظيمات خاصي براي استفاده بصورت Client/Server نياز نيست .
بازده استثنايي وبهينه سازي Filtering وSQL .
امكانات بازسازي و تعمير درون ساخت .
امكان تبديل فرمت تمام انواع Database به فرمت DBISAM .
داراي برنامه كمكي ويژه جهت Browse ،Restructure ، Update وجستجوي Database
پشتيباني كامل Blob ،شامل block size قابل تنظيم بصورت دلخواه
Buffered Transaction جهت حفاظت داده‌ها هنگام قطع برق و امثال آن
ايندكس هاي Primary و Secondary
پشتيباني كامل Filter
فايلهاي داده in-memory با پشتيباني Streaming
جستجوي در ايندكس با استفاده از علامتهاي (* ، ؟)
تعيين محدوده (بازه) با تعداد دقيق ركورد‌ها
پشتيباني فيلد Auto-Increment
اعداد منطقي ترتيبي
پشتيباني كامل NULL
Min/Max وبررسي Validity
مقادير پيش فرض
فشرده سازي كليدها وايندكس‌ها
فشرده سازي اتوماتيك ايندكس‌ها
پشتيباني Database هاي read-only برروي CD-ROM
پشتيباني كامل BCD
ايندكس‌هاي Case-Insensitive
حفاظت از داده ها با Password-Encryption
ايندكس‌هاي ثانويه Unique
امكان تعريف Version Numbering فايلهاي داده توسط كاربر


DBISAM اصلا چيست؟
DBISAM يك موتور Database مانند BDE ، SQL Server و Interbase است، با امكانات خارق‌العاده.

عدم نياز به هيچگونه Driver يا DLL براي اجراي برنامه
جالب است نه؟ يعني برنامه شما براي اجرا به هيچگونه درايور يا DLL اي نياز ندارد، چرا كه تمام موتور Database و ملحقات آن مستقيما به درون فايل Exe شما كامپايل ميشود. حجمي هم كه به فايل شما اضافه ميشود مقداري جزئي و قابل چشم پوشي است.
اين در حالي است كه BDE براي باز كردن يك فايل ساده Paradox به مجموعه‌اي از درايورها نياز دارد و برنامه شما در صورت عدم حضور آنها با نمايش يك Exception با يك دردسر اساسي روبرو خواهد شد.

استفاده از DBISAM بعنوان يك جايگزين براي BDE
اكثر برنامه نويساني كه با BDE كار كرده اند با مشكلات آن به خوبي آشنا هستند: خراب شدن ايندكس‌ها ، خراب شدن فايلهاي داده در صورت قطع برق ، مشكل User Lock و ...
اينها همه مشكلاتي است كه در DBISAM حل شده است .

تبديل برنامه Desktop به Client/Server
هنگامي كه از يك برنامه‌نويس خواسته مي‌شود تا برنامه‌اي كه با BDE نوشته است را تبديل به نسخه Client/Server كند كابوس او شروع مي‌شود، زيرا بايد اكثر بخشهاي برنامه‌اش را باز نويسي كند .
اما با استفاده ازDBISAM اين كار به آساني مقدار‌دهي يك مشخصه در كامپونت Session است:

Session Type := StRemote;
بله به همين سادگي است‌! يعني با صرف زماني كمتر از چند دقيقه مي‌توانيد هم سرور DBISAMرا نصب و راه اندازي كنيد و هم برنامه‌تان را تبديل به نسخه Client /Server كنيد. هيجان انگيز است! نه ؟

نصب Database Server در كمتر از چند دقيقه!
اگر تا كنون Database Engine هاي ديگر مانند SQL Server و امثال آن را نصب كرده باشيد حتما ميدانيد كه عمليات نصب و پيكربندي آنها نزديك به يكساعت وقت ميگيرد، البته بشرطي كه تجربه لازم در نصب و پيكربندي آنها را داشته باشيد، در غير اينصورت بايد ساعتها وقت را نيز براي يادگيري موارد فوق كنيد، اين درحالي است كه مي‌توانستيد چنين وقتي را صرف رسيدن به امور مهمتري مانند رسيدگي به برنامه خود كنيد.
اما نصب Database Server اين سيستم در 1 دقيقه نيز ممكن است!!! چگونه؟ با طي مراحل فوق:


انتخاب كامپيوتري كه قرار است نقش Database Server را بعهده بگيرد.
انجام تغييرات لازم در فايل .INI مربوطه (از جمله مشخص كردن IP Address سرور، ... ).
اجراي Database Server (كه يك فايل Exe بيش نيست!).


قابليت اجراي برنامه ها در حالت Read-Only
فرض كنيد ميخواهيد برنامه‌اي بنويسيد كه حاوي يكسري داده باشد (مانند ديكشنري، برنامه هاي مالتي‌مديا، دايرة‌المعارف ، و ...) ونيز برنامه شما قرار است در يك محيط Read-Only (مثلا از روي CD يا DVD) اجرا شود . دراين حالتDBISAM بشما اجازه مي‌دهد بدون هيچگونه تغييري در كد برنامه، آنرا به محيط مقصد (CD ، DVD) منتقل كنيد و بدون نياز به انجام هيچ تغيير خاصي آنرا اجرا كنيد.

پشتيباني زبان فارسي
DBISAM اولين Database Engine اي است كه زبان Farsi را هم تحويل گرفته و آ نرا پشتيبانيمي‌كند، شما هنگام طراحي جداول مي‌توانيد زبان جدول را بر روي "Farsi" قرار دهيد (شكل 1).
در اينصورت اگر روي يكي از فيلد هاي حاوي حروف فارسي ايندكس تعريف كنيد خواهيد ديد كه عبارات شما بر اساس ترتيب حروف فارسي مرتب خواهند شد(شكل 2).


http://barnamenevis.org/forum/DelphiShop_com%20-%20%D8%A2%D8%B4%D9%86%D8%A7%D9%8A%D9%8A%20%D8%A8%D 8%A7%20DBISAM_files/dbisam01.gif


شكل 1- پشتيباني زبان فارسي توسط DBISAM





http://barnamenevis.org/forum/DelphiShop_com%20-%20%D8%A2%D8%B4%D9%86%D8%A7%D9%8A%D9%8A%20%D8%A8%D 8%A7%20DBISAM_files/dbisam02.gif


شكل 2- سورت صحيح عبارات فارسي بر اساس ترتيب الفباي فارسي



پشتيباني تاريخ هجري شمسي
حرفه‌اي‌هاي Database مي‌دانند كه اكثر Database Engine هاي موجود محدوده تاريخ شمسي را بعنوان بازه صحيح قبول ندارند و اجازه ذخيره شدن آن در جداول با فيلد Date را نمي‌دهند، اما DBISAM از اين قاعده پيروي نمي‌كند. يعني شما مي‌توانيد در يك فيلد از نوعDate در جداول DBISAM تاريخي مانند 10/5/1382 را بدون هيچ مشكلي ذخيره كنيد .

امكان Partial Search برروي فيلدهاي فارسي
در DBISAM امكان جستجو با استفاده از علائم * و ؟ بر روي فيلد هاي فارسي نيز وجود دارد.
بدين ترتيب شما مي توانيد بعنوان مثال با استفاده از عبارت *محمد* در تركيب جستجو كليه موارد شبيه به كلمه فوق ( مانند "محمد رضا"، "محمدي") را پيدا كنيد .

بهينه‌سازي فيلد‌هاي Image
هنگامي كه مي‌خوا‌هيد تصاوير را در جداول DBISAM نگهداري كنيد ، سيستم بصورت اتوماتيك آنها را فشرده و بهينه‌سازي مي‌كند تا فضاي كمتري براي نگهداري آنها مورد‌نياز باشد و نيز سرعت خواندن و نوشتن آنها در سيستم افزايش يابد .


امكان بازسازي و تعمير جداو ل
DBISAM داراي متدهاي ويژه تعمير و بازسازي database ميباشد. با استفاده از اين امكان برنامه‌نويس مي‌تواند هر گاه كه نياز به تعمير database دارد با اجراي متدي مانند Table1.Repair; جدول مورد نظر را تعمير كند.


امكان تبديل انواع database هاي ديگر به فرمت DBISAM
فرض كنيد مي‌خواهيد جداول خود را از Interbase ، SQL Server و يا Paradox بهDBISAM تبديل كنيد. براي انجام اين كار كافي است يك Alias به database مبدا تعريف و يا مسير محتوي فايلها database مبدا را براي DBISAM Transfer Utility مشخص كنيد . ظرف مدت كوتاهي ابزار فوق ساختار جداول و تمام داده‌هاي درون آنها را به فرمت DBISAM تبديل خواهد كرد.

دسترسي به Source Code كل سيستم!
هنگامي كه شما نسخه كامل DBISAM را نصب ميكنيد سورس كليه بخشهاي سيستم آن مانند سورس Server ، سورس Component ها، سورس ابزارهاي جانبي هم بهمراه سيستم اصلي نصب ميشوند. بدين ترتيب علاوه بر تمام مزاياي ديگر اين سيستم، هرگاه نياز به مطالعه نحوه كار يكي از بخشها، يا نياز به ايجاد تغيير در يك بخش از سيستم يا ابزارهاي جانبي آن داشتيد ميتوانيد براحتي اين كار را انجام دهيد. نكته فوق‌العاده اين است كه حتي كامپوننتهاي استفاده شده براي ساختن ابزارهاي كمكي DBISAM نيز بهمراه سورس كامل‌شان بهمراه DBISAM (در قالب يك tab بنام DBISAM Utilities) در محيط IDE دلفي نصب ميشوند و شما بدون هيچگونه مشكلي ميتوانيد كل سيستم را هر وقت كه نياز داشتيد re-compile كنيد!
]اينم يواشكي بهتون بگم كه كامپوننتهاي موجود در DBISAM Utilities در حقيقت همان كامپوننتهاي معروف InfoPower هستند كه راست به چپ را نيز پشتيباني مي‌كنند! يادتون نره يه نگاهي هم به آنها بياندازيد[.

در مقالات بعدي اين سري شما را با نحوه ايجاد برنامه‌هاي Desktop و Client/Server با استفاده از DBISAM آشنا خواهيم كرد.

moonplant
چهارشنبه 05 تیر 1387, 20:12 عصر
نه DBISAM فایل مربوط به بانک اطلاعاتی رو تو فایل EXE برنامه embed نمی کنه و فایل بانک اطلاعی جداگانه است


DBISAM
يعني برنامه شما براي اجرا به هيچگونه درايور يا DLL اي نياز ندارد، چرا كه تمام موتور Database و ملحقات آن مستقيما به درون فايل Exe شما كامپايل ميشود. حجمي هم كه به فايل شما اضافه ميشود مقداري جزئي و قابل چشم پوشي است.

وقتی از dbIsam استفاده می کنیم، فایل DB بالاخره توی exe قرار می گیرد یا نه؟ نظر دنیای دلفی و HadıDelphı متفاوت به نظر میرسن؟!

-اگر فایل دیتابیس درون exe قرار نمیگیرد---> آیا برای اجرای برنامه نیاز به نصب dbısam در کامپیوتر کاربر هست یا نه؟
-برای اینکه برنامه من( که دارد از dbisam استفاده می کند) فارسی را درست نشان بدهد، لازم است که در regional & languages optionدر تب advanced فارسی را انتخاب بکنم یا خیر؟

(من نمی دونم چرا باید همیشه سوال هام رو چند بار بنویسم؟:گریه: اگر اشکال از طرز سوال پرسیدن منه لطفاً بگید.)

در ضمن DBısam vıewer (http://www.brothersoft.com/dbisam-viewer-download-39654.html) همون dbısam هست؟

-خیلی ممنون

taha
پنج شنبه 06 تیر 1387, 09:36 صبح
سلام
حرف دوتاشون درسته.
فایل فیزیکی بانک اطلاعاتی، یه چیزه، موتور بانک یه چیزه دیگه. مثلا شما موتور بانک SQLServer دارید که باید روی سرور نصب بشه و فایل های فیزیکی با پسوند mdf و ldf دارید که مربوط به جداول بانک اطلاعاتیه.

توی DBISAM هم موتور بانک درون فايل Exe شما قرار می گیره ولی جداول مربوط به بانکتون داخل فایل های فیزیکی روی دیسک.


برای اینکه برنامه من( که دارد از dbisam استفاده می کند) فارسی را درست نشان بدهد، لازم است که در regional & languages optionدر تب advanced فارسی را انتخاب بکنم یا خیر؟بله باید انتخاب کنی چونDBISAM از Unicode پشتیبانی نمیکنه.
http://www.elevatesoft.com/prodcomp.htm



من نمی دونم چرا باید همیشه سوال هام رو چند بار بنویسم؟:گریه: اگر اشکال از طرز سوال پرسیدن منه لطفاً بگیدشاید خیلی زیاد به جوابا دقت نمکنی!


در ضمن DBısam vıewer (http://www.brothersoft.com/dbisam-viewer-download-39654.html) همون dbısam هست؟
نه. اون همونطور که نوشته فقط یک Viewer هست.

nassim_20
پنج شنبه 06 تیر 1387, 11:13 صبح
DBIsam از فارسی پشتیبانی می کند؟ با کامپوننت های TNT مشکلی ندارد؟ اگر بخواهم درون دیتا بیسم فارسی بنویسم، حتماً باید در تب advanced واقع در regıonal and languages optıons فارسی را انتخاب کنم؟

DBIsam از فارسی بخوبی پشتیبانی میکنه یعنی مثلا در سورت کردن و سرچ شما میتونید بهش اعتماد کنید البته اگه زبانش رو روی فارسی تنظیم کرده باشید
ولی این بدان معنی نیست که نیازی به تنظیمات regıonal and languages optıons نداشته باشید
اینکه پرسیدید با کامپوننت tnt مشکلی نداشته باشد منظورتون چیه؟
حالا من یه سوال از شما می پرسم این کاپوننتها چکار میکنند با وجود این کامپوننتها دیگری نیازی به تنظیمات regıonal and languages optıons نیست؟

moonplant
پنج شنبه 06 تیر 1387, 12:54 عصر
DBIsam
اینکه پرسیدید با کامپوننت tnt مشکلی نداشته باشد منظورتون چیه؟
حالا من یه سوال از شما می پرسم این کاپوننتها چکار میکنند با وجود این کامپوننتها دیگری نیازی به تنظیمات regıonal and languages optıons نیست؟

من به تازگی این کامپوننت را در سیستمم نصب کردم و دارم باهاش کارمی کنم، تنها چیزی که ازش می دونم اینه که برای اینکه در برنامه مان روی دکمه هاو ... فارسی نمایش داده شود ... نیازی به این نیست که برویم و در regional & languages در قسمت advanced و فارسی را انتخاب کنیم. این قسمت روی هر چیزی که تنظیم شده باشد برنامه مان فارسی را درست نشان می دهد!!!! شرایطی را تصور کنید که در کامپیوتر کاربر برنامه های دیگری هم غیر از برنامه شما نصب شده است که برای اجرای درست آن ها نیاز به تنظیم این قسمت بر روی یک زبان بخصوص باشد، یا حتی همین englısh باشد...خب، اگر من برنامه ام را با کامپوننت های عادی دلفی نوشته باشم، در آنصورت کاربر بیچاره باید برای هر بار اجرای برنامه من بروند در regıonal تنظیمات را روی فارسی بگذارد و بعد کامپیوترش را ریست کند!!
منظورم از اینکه با tnt مشکلی نداشته باشد این بود که برای ذخیره و بازیابی اطلاعات فارسی در/از دیتا بیس نیازی به تنظیمregıonal optıon بر روی فارسی نباشد.. که با توجه به صحبت دوستان لازم است که روی فارسی تنظیم شده باشد---> dbIsam به درد این کار بخصوص نمی خورد. :ناراحت: