ورود

View Full Version : اتصال به بانک Firebird به صورت Embedded



AmirSky
سه شنبه 08 تیر 1389, 11:12 صبح
باسلام

برای اتصال به بانکی که با فایربرد ساخته شده باشه البته به صورت Embedded چه کارهایی باید انجام بشه
هرکاری که در راهنماها گفته شده بود رو انجام دادم اما نشد
نمی دونم کجاش رو متوجه نمی شم
هر کاری می کنم نمی تونم از دست پیام " unavailable database " نجات پیدا کنم
اگر کسی می دونه لطفا راهنمایی کنه

SH.Daneshvar
سه شنبه 08 تیر 1389, 12:41 عصر
در مورد این پیام : "unavailable database"

فکر کنم به این دلیل باشه که شما به صورت local می‌خواهین به Server وصل بشین، به جای local شما
به loopback IP یا همون 127.0.0.1 وصل بشین این مشکلتون حل میشه.

یعنی نوع اتصال باید به صورت شبکه باشه
Server بشه : 127.0.0.1
و نام Database هم مسیر اون باشه مثلا : c:\test1.fdb
نام کاربری : SYSDBA
و پسور هم : masterkey

AmirSky
سه شنبه 08 تیر 1389, 16:33 عصر
يه چيزايي پيدا کردم
Firebird 2.1 Server Manager حتما با نصب باشه و بعد از Uninstall اون مشکل بوجود مي آيد
در راهنما هاي فايربرد نوشته شده بود که به نصب هيچ برنامه اي نياز نيست و فقط چند Dll کافي است
پس مشکل کجاست ؟

SH.Daneshvar
سه شنبه 08 تیر 1389, 16:50 عصر
دوست عزیز میشه بفرمایید، دقیقا شما چیکار دارید میکنید ؟

تا بتونم راهنمایی‌تون کنم

AmirSky
سه شنبه 08 تیر 1389, 17:33 عصر
فکر کنم بهترین کار این باشه که یه نمونه بزارم
توی این نمونه از DbExpress برای کانکت استفاده نمودم
در صورتی که Firebird 2.1 Server Manager نصب نباشه از هر روشی که برای کانکت استفاده کنم پیام خطای unavailable database مواجه می شوم

این هم نمونه
52034

وقتی که Firebird 2.1 Server Manager نصب باشه بدون مشکل ارتباط برقرار می شه

SH.Daneshvar
سه شنبه 08 تیر 1389, 18:01 عصر
شما برای استفاده از نسخه Embedded بایستی نسخه Embedded رو دانلود کنید :
http://sourceforge.net/projects/firebird/files/firebird-win32/2.1.3-Release/Firebird-2.1.3.18185-0_Win32_embed.zip/download

در خودش هم یک Document برای نصب هست مطالعه کن بسیار کوتاه و مفید است.

AmirSky
سه شنبه 08 تیر 1389, 18:14 عصر
من اون رو هم دانلود کردم و از تمام موارد گفته شده رو رعایت کردم ولی باز هم همون مشکل رو داره
نمی دونم چه چیزی باید نصب بشه و یا از چه Dll هایی باید استفاده بشه
توی راهنمای سایت فایربرد نوشته شده بود که باید fbembed.dll به fbclient.dll تغییر نام پیدا کنه. انجام دادم و تمام Dll ها و پوشه هایی که گفته شده بود رو در کنار Exe قراردادم اما باز هم همون پیام
البته حجمش برای آپلود زیاده و نمی تونم توی سایت بزارم

ممنون

SH.Daneshvar
سه شنبه 08 تیر 1389, 18:24 عصر
1.شما از کامپوننت‌های InterBase موجود در دلفی استفاده کن
2.dll رو به gds32.dll تغییر نام بده
3.مسیر فایل‌ها رو به path ویندوز اضافه کن یا در کنار فایل exe خودت قرار بده و برای اجرا بعد از کامپایل فایل exe رو از محیط دلفی اجرا نکن و برنامه رو از توی Windows Explorer اجرا کن
4.بهتر هست شما فعلا از نصب خود Firebird استفاده کنی و چون میخوای از کامپوننت‌های Interbase استفاده کنی در زمان نصب قمستی هست که fbclient.dll رو با نام gds32.dll نصب میکنه که شما باید تیک این قسمت رو فعال کنید

SH.Daneshvar
سه شنبه 08 تیر 1389, 18:55 عصر
C:.
| fbtest.bdsproj
| fbtest.dpr
| FBTEST.FDB
| fbtest.txt
| firebird.msg
| uFormMain.dfm
| uFormMain.pas
|
+---bin
| fbtest.exe
| gds32.dll
| ib_util.dll
| icudt30.dll
| icuin30.dll
| icuuc30.dll
| msvcp80.dll
| msvcr80.dll
|
\---intl
fbintl.conf

AmirSky
سه شنبه 08 تیر 1389, 23:10 عصر
ممنونم از شما
فکر مي کنم يه خورده توي اين قسمت ضعف داره
حالا که چاره اي نيست حداقل چه فايل هايي براي نصب روي سيستم هاي ديگر لازم است که از ستاپ خود فايربرد استفاده نشه و ستاپ رو خودم بسازم
از راهنماهاي خود فايربرد که ما هر کاري کرديم نشد
در ضمن چند نمونه از Query هایی که در بعضی دیتابیس ها جواب نمی داد رو تست کردم خیلی خوب جواب می ده ، سرعت بالایی هم داره ، به نظرمن فایربرد آینده خوبی خواهد داشت
اما برای شروع کار یه پروژه کوچک رو که با SQL Server ساخته بودم رو به فایربرد تبدیل می کنم تا اون موقع بهتر ضعف ها و نقاط قوتش معلوم میشه.
یه سوال دیگه در صورت استفاده از اینتربیس برای کانکشن در سیتمهای دیگر باتوجه به رایگان نبودن اون کامپوننت آیا مشکلی پیش میاد یا نه ، یا اینکه فقط خود دیتابیس پولیه و کامپوننت محدودیت نداره؟
ممنون

SH.Daneshvar
چهارشنبه 09 تیر 1389, 00:18 صبح
دوست عزیز
اول راه همینطور هست برای همه، مشکلاتی هست
شما قدم قدم جلو برو
یک مشکل دیگه اینکه برای اتصال به Firebird خودتون یک database بساز چون اون employee شما مربوط به ورژن‌های قدیمی Interbase بود و به همین خاطر Firebird جدید شما امکان اتصال به اون رو نداره

Firebird دو نسخه وجود داره یکی Embedded سرور و دیگری هم که نسخه عادی هست
برای سیستمی که تک کاربره هست و از شبکه استفاده نمی‌کنه Embedded سرور استفاده میشه
برای سیستمی که بر روی شبکه هست باید بر روی سرور نسخه Server نصب بشه و واسه کلاینت‌ها بودن چندتا فایل در کنار فایل exe برنامه کفایت میکنه.

شما فعلا نصب Firebird رو دانلود کن و ازش استفاده کن، در قدم‌های بعدی به شکل‌های دیگه روز اول منم اینطور جلو می‌رفتم، روزهایی که هیچکس نبود کمکم کنه
بارها میشد Firebird رو روی سیستم کاربرها با Setup خودم نصب میکردم و مشکلاتی داشتم تا کم کم تجربه کسب کردم و فایل‌هاشو شناختم

در کل یکی از مزایای Firebird که در عمل خودش رو نشون میده این هست که حجم بسیار پایینی داره با هیچ قسمتی تداخل براش پیش نمیاد و کار خودش رو انجام میده، چون Zero Configiration هست بسیار Footprint پایینی داره (در حد تنها ایجاد یک مقدار در ریجستری).

من که اصلا پشیمون نیستم و هر کدوم از دوستان MS-SQL Server کارم وقتی قدرت‌های Firebird رو میبینند ذوق زده می‌شن البته بگم کار بر روی Firebird تلاش میخواد چون کتاب فارسی و انگلیسی زیادی براش نیست و برای کسی که حسابی به MS-SQL Server عادت کرده و بهش مسلط هست طبیعتا سخت هست که بکنه و بیاد روی Firebird.

یا حق.

SH.Daneshvar
چهارشنبه 09 تیر 1389, 00:24 صبح
Firebird کاملا رایگان هست اما کامپوننت Interbase بخشی از دلفی هست مانند DataSource و Button و Form و ... شما اگر پولی برای دلفی دادید و لایسنس دارید یعنی لایسنس همه اینها رو دادید، اگر اینها مشکلی روی سیستم‌های دیگه دارن خوب کامپوننت Interbaseها میتونه مشکلی داشته باشه
در ضمن کامپوننت رایگان هم وجود داره مثل Zeos
و اگر در جاوا یا .Net بخواید استفاده کنید Driverهای JDBC و .net Provider ش رایگان توسط خود Firebird تامین میشه

ابزار توسعه هم FlameRobin رو میتونید استفاده کنید، رایگان هست.

saeed-213
چهارشنبه 03 اسفند 1390, 22:05 عصر
با سلام
من میخوام یه فایل FDB رو به MDB تبدیل کنم راهی وجود داره ؟

mohsen24000
پنج شنبه 04 اسفند 1390, 00:06 صبح
من میخوام یه فایل FDB رو به MDB تبدیل کنم راهی وجود داره ؟
http://www.spectralcore.com/fullconvert/?app=fc-ent&trial=0&from=helpweb