PDA

View Full Version : سوال: اتصال به bde ?



ehp_kz6597
سه شنبه 05 بهمن 1389, 19:05 عصر
سلام
چند تا سوال ؟
1- شما برای اینکه برنامه ای که با bde نوشتين تو سيستم دیگه (غیر از سیستمی که توش کد نویسی می کنین) بدون مشکل اجرا بشه چه راه حلی دارین؟

2- خیلی تمایل دارم که با sql کار کنم . آیا غیر از ado , dbx راه دیگری وجود داره ؟ اصلا چه راهی رو برای اتصال به sql پیشنهاد میکنین ؟تو پاسختون هم هم برنامه های عادی و هم تحت شبکه رو مد نظر قرار بدین ؟

3- آیا برای انتقال برنامه ای که با sql در ارتباطه مثل bde با مشکل مواجه هستیم یا خیر ؟

ممنون

pezhvakco
چهارشنبه 06 بهمن 1389, 09:05 صبح
چند تا سوال ؟
هر پرسش یک تایپیک .



1- شما برای اینکه برنامه ای که با bde نوشتين تو سيستم دیگه (غیر از سیستمی که توش کد نویسی می کنین) بدون مشکل اجرا بشه چه راه حلی دارین؟
منظور شما از bde چیه ؟



2- خیلی تمایل دارم که با sql کار کنم . آیا غیر از ado , dbx راه دیگری وجود داره ؟ اصلا چه راهی رو برای اتصال به sql پیشنهاد میکنین ؟تو پاسختون هم هم برنامه های عادی و هم تحت شبکه رو مد نظر قرار بدین ؟
کار با Sql هیچ ربطی به Ado و Dbx نداره . اگه منظور شما از sql پایگاه داده است که یک برنامه جدا است و اگر زبان پرس و جو رو می خوای که یک کدنویسی استاندارد داره .



3- آیا برای انتقال برنامه ای که با sql در ارتباطه مثل bde با مشکل مواجه هستیم یا خیر ؟
مشکل چیه ؟

ehp_kz6597
چهارشنبه 06 بهمن 1389, 09:41 صبح
هر پرسش یک تایپیک .خوب پرسش ها به هم مربوط هستند (همه درباره مشکل من با بانک اطلاعاتی هست ) که اگه تو تاپیک های جدا می نوشتم ...


منظور شما از bde چیه ؟منظورم استفاده از Borland Database Engine تو برنامه هست (فکر کنم خيلي واضح بود)


کار با Sql هیچ ربطی به Ado و Dbx نداره . اگه منظور شما از sql پایگاه داده است که یک برنامه جدا است و اگر زبان پرس و جو رو می خوای که یک کدنویسی استاندارد داره . قبلا با Microsoft SQL Server کار کردم و اصلا بااین مفاهیم که میگین مشکل ندارم . مشکلم در بهترین گزینه برای اتصال بین دلفی و sql هست .


مشکل چیه ؟ اگه با bde قبلا کار کرده باشین احتمالا حداقل یه بار پیش اومده که بخاین برنامه رو تو یه سیستم دیگه اجرا کنین
اینجاست که برنامه پیغام میده که بانک رو پیدا نمی کنه و باید دستی مسیر بانک رو تو bde مشخص کرد. میخواستم ببینم دوستان این مشکل رو چطور حل میکنن. و آیا تو استفاده از sql هم چنین مشکلی وجود داره یا نه ؟
--------------------------------------------
البته فکر میکنم سوالات خیلی واضح بود و اگه کسی با دلفی کار کرده باشه حداقل منظور رو میفهمه حالا نمی تونه حل کنه یه بحث دیگه هست .
شما به جای کمک کردن داری بیشتر مسئله رو میپیچونی

pezhvakco
پنج شنبه 07 بهمن 1389, 09:19 صبح
- شما برای اینکه برنامه ای که با bde نوشتين تو سيستم دیگه (غیر از سیستمی که توش کد نویسی می کنین) بدون مشکل اجرا بشه چه راه حلی دارین؟

منظورم استفاده از Borland Database Engine تو برنامه هست (فکر کنم خيلي واضح بود)
داره واضح میشه اگه همه اونی که تو فکرتون است این جا هم بنویسین .
برای این کار شما یا باید همون برنامه BDE Admin رو نصب کنین یا یه مجموعه فایل با پسوند Bpl , Dll است که مربوط به برنامه دلفی و ارتباط با بانک های بر مبنای DBE است رو کپی کنین ( کپی در همان جای فایل اجرایی برنامه یا پوشه System32 ) .


قبلا با Microsoft SQL Server کار کردم و اصلا بااین مفاهیم که میگین مشکل ندارم . مشکلم در بهترین گزینه برای اتصال بین دلفی و sql هست .
بهترین گزینه شاید نباشه چون برنامه نویسی متناسب با شرایط برنامه ابزار خودش رو انتخاب می کنه ولی Ado بیش تر طرف دار داره (وجود ماکروسافت هم بی ربط نبوده) .


اگه با bde قبلا کار کرده باشین احتمالا حداقل یه بار پیش اومده که بخاین برنامه رو تو یه سیستم دیگه اجرا کنین
اینجاست که برنامه پیغام میده که بانک رو پیدا نمی کنه و باید دستی مسیر بانک رو تو bde مشخص کرد.
شما اگه در زمان تنظیم مسیر بانک ها، مسیر جاری رو براش تعریف کرده باشین، راحت اجرا میشه .


و آیا تو استفاده از sql هم چنین مشکلی وجود داره یا نه ؟

قبلا با Microsoft SQL Server کار کردم و اصلا بااین مفاهیم که میگین مشکل ندارم
Sql رو نمیشه با اون مقایسه کرد .در Sql باید حتما برنامه sql نصب بشه و پایگاه داده در نرم افزار اضاف بشه و ...

هر تایپیک یک پرسش برای اینه که اگر من فردا خواستم یک موضوع رو جستجو کنم بر اساس عنوان تایییک به اون برسم و موضوعات دیگه رو نبینم .

همه این پرسش های شما با جستجو به پاسخ می رسید اگه زمان می داشتین .

ehp_kz6597
جمعه 08 بهمن 1389, 08:10 صبح
از پاسختون ممنونم
در مورد این جمله :

شما اگه در زمان تنظیم مسیر بانک ها، مسیر جاری رو براش تعریف کرده باشین، راحت اجرا میشه .منظورتون یه چنین کدیه ؟:

var
dir: string;
begin
dir := GetCurrentDir+'\DB\';
Database1.DatabaseName := 'MyNewAlias';
Database1.DriverName := 'STANDARD';
Database1.Params.Clear;
Database1.Params.Add('Path=' + dir);
Table1.DatabaseName := 'MyNewAlias';
Table1.TableName := 'telbook';
Table1.Active := True;
DataSource1.DataSet := Table1;
DBGrid1.DataSource := DataSource1;
end;


اگه بشه یه نمونه کوچیک بذارین ممنون میشم
با تشکر

mafazel
یک شنبه 10 بهمن 1389, 15:37 عصر
سلام دوست عزیز
یه کم گفتگو ها طولانی شده
BDE یکم قدیمی هست و یونیکد رو هم پشتیبانی نمی کنه ولی سرعت خوبی داره. من قبلا یه پروژه کوچیک عددی داشتم که جدیدا مجبور شدم آپدیتش کنم. بانکش را از BDE به Access تغییر دادم. در یک حلقه For که حدود 4 هزار رکورد رو از یک فایل می خونم و در بانک Insert می کنم در موتور Access حدود 4 برابر BDE زمان می برد (20 ثانیه در مقابل 5 ثانیه) . لذا موتور بانک اطلاعات رو به BDE برگردوندم. اما تمام کارهای دیگه بخصوص پروژه های متنی رو با Access کار می کنم چون هم یونیکد و مرتب سازی فارسی رو مشکل نداره هم موتور آن نیاز به نصب ندارد.

برای اجرای برنامه در یک کامپیوتر دیگه باید BDE در آن کامپیوتر نصب باشد. این کار با نرم افزار نصب ساز InstallShield به راحتی انجام می شود.
در مورد SQL متوجه منظور شما از ارتباط بین دلفی و SQL نشدم. بخصوص که گفتید با MS SQL Server کار کردید. SQL یک زبان است و در دلفی از شئی TQuery در BDE یا TADOQuery در ADO آنرا پیاده سازی می کنند.

در خصوص برقراری ارتباط با BDE در کامپیوتر دیگر یک کد بلند بالا نوشته اید. نسبت دادن نام بانک و DataSource در زمان طراحی می تواند انجام شود. من از Alias و شیئ Database استفاده نمی کنم. فقط مسیر بانک اطلاعات (کنار فایل اجرایی) را به Table1.DatabaseName می دهم



DBDir := ExtractFilePath(ParamStr(0))+'DB';
Table1.DatabaseName := DBDir;