PDA

View Full Version : مشکل برنامه در برقراری ارتباط با بانک اطلاعاتی در سیستم هایی که ویبی6 نصب نیست



farboodj1375
دوشنبه 17 مرداد 1390, 17:58 عصر
با سلام خدمت همه دوستان.
این مشکلی هست که خیلی وقته دارم باهاش سروکله میزنم.
هربرنامه ای که مینویسم تو سیستم هایی که ویبی توشون نصب نیست اطلاعات بانک رو نمیخونه و اصلا با بانک ارتباط برقرار نمیکنه.
و با نصب ویبی 6 هم همه مشکلات حل میشه.

یکی از دوستان گفته بودن که از توی رفرنسز تیک گزینه ی Microsoft Active X Data Object رو برداریم.
اما با این کارهم مشکل حل نشد.
تمامی فایل های مورد نیاز برنامه رو هم کنارش میزارم و ستاپ رو هم با ستاپ فکتوری درست میکنم.

خواهشا کمک کنید.
بدجوری گیر کردم.
ممنون.

ali reza mansoori 2
دوشنبه 17 مرداد 1390, 22:37 عصر
کامپونت های که در برنامه استفاده می کنید رو از مسیر C:\WINDOWS\system32 انتخاب کنید
اگر کامپونت های که شما در برنامه تون استفاه کردید در مسیر دیگری هستند آنها رو داخل مسیری که گفتم کپی کنید بعد از داخل وی بی از داخل اون مسیر انتخابشون کنید
توسط ستاپ ساز خود وی بی (Package & Deployment Wizard) از برنامهتون ستاپ تهیه کنید و داخل مسیری که ستاپ ساختید بروید و فایل های با پسوند ocx و dll رو در مسیر دیگری کپی کنید
حال شما کامپونت های مورد نیاز برنامه تون رو در اختیار دارید توسط برنامه ستاپ ساز می توانید انها را در سیستم یوزر ها ریجستر کنید

البته این مبتدی ترین کار ممکن هستش توسط اینستال شیلد این کار رو خیلی راحت تر می توانید انجام بدید

farboodj1375
سه شنبه 18 مرداد 1390, 10:48 صبح
ممنون دوست عزیز.
حق با شماست ولی فکر نمیکنم که کامپوننت ها رو از مسیر برنامه بخونیم یا سیستم 32 فرقی داشته باشه...

ali reza mansoori 2
سه شنبه 18 مرداد 1390, 11:27 صبح
اگر کامپونت ها در مسیر نصب برنامه باشه شما در سیستم یوزر ها باید برنامه رو دقیقا در همون مکانی که در سیستم خودتان هست نصب کنید و در غیر این صورت با مشکل مواجه می شود

farboodj1375
سه شنبه 18 مرداد 1390, 15:41 عصر
ممنون.
ولی آخه من تا حالا همیشه کامپوننت ها رو تو مسیر برنامه میزاشتم و برنامه رو هم هرجا تو هر سیستمی اجرا میکردم مشکلی پیش نمیومد...
حالا از بحث اصلی دور نشیم.
پس یعنی به نظر شما همون ابزار های اصلی رو تو سیستم 32 کپی کنیم دیگه این مشکل بانک های اطلاعاتی حل میشه؟
کسی یه تیکه برنامه نداره که با نصب اون فایل های ضروری ویبی تو سیستم نصب بشه؟

Rezapcclick
سه شنبه 18 مرداد 1390, 18:40 عصر
من كه خودم همين كار رو تو برنامه هام مي كنم يعني فايل هاي DLL و OCX هايي كه استفاده كردم رو كناره فايل ستاپ مي زارم و .....

و يه روش ديگه اي كه به نظرم هست خودم ازش استفاده مي كنم ريجستر كردن كامپوننت ها هست يعني وقتي شما برنامه تون رو روي سيستم ديگه نصب كردين كامپوننت ها بايد ريجستر و ثبت بشن توي اون سيستم ..اونم با كد زير

"نام كنترل " Regsvr32

اين روش خوبه و تو برنامه هايي كه من تا الان نوشتم عمل كرده
شما يه فايل notepad باز كنيد و تمامي كنترل ها رو در خط جديدي تعريف كنيد و بعد از تعريف فايل رو به فرمت bat. ذخيره و اجراش كنيد

و يه برنامه ديگه اي هست كه در سري هاي ران تايم هستش كه vb runtime نام برنامه است كه اگه اين برنامه هم نصب كنيد شايد به جوابتون برسيد
سوالي بود در خدمتم
موفق باشيد

daniyal_1363
سه شنبه 18 مرداد 1390, 19:26 عصر
با سلام خدمت همه دوستان.
این مشکلی هست که خیلی وقته دارم باهاش سروکله میزنم.
هربرنامه ای که مینویسم تو سیستم هایی که ویبی توشون نصب نیست اطلاعات بانک رو نمیخونه و اصلا با بانک ارتباط برقرار نمیکنه.
و با نصب ویبی 6 هم همه مشکلات حل میشه.

یکی از دوستان گفته بودن که از توی رفرنسز تیک گزینه ی Microsoft Active X Data Object رو برداریم.
اما با این کارهم مشکل حل نشد.
تمامی فایل های مورد نیاز برنامه رو هم کنارش میزارم و ستاپ رو هم با ستاپ فکتوری درست میکنم.

خواهشا کمک کنید.
بدجوری گیر کردم.
ممنون.

سلام

یه نمونه کد بزار تا بهتر بتونیم راهنمایی کنیم

farboodj1375
سه شنبه 18 مرداد 1390, 19:27 عصر
ممنون.

مشکل من فقط عدم برقراری ارتباط بابانک اطلاعاتی هست...
آیا با نصب اون VB6 RunTime مشکل حل میشه؟

کسی نمیدونه چه کامپوننت های برای ارتباط با بانک ضروزی هستند؟تا اونا رو به ستاپ ساز اضافه کنیم...

ممنون میشم کمک کنین.

Rezapcclick
سه شنبه 18 مرداد 1390, 20:00 عصر
اگه مقدور هست واستون اون كدي رو كه براي كانكت به بانك اطلاعاتي نوشتين رو بزاريد تا بهتر بشه كمك كرد ..

آخه چند روش براي ارتباط با بانك هست ..

اگه كدي كه نوشتين باشه بهتر مي شه گفت

_behnam_
چهارشنبه 19 مرداد 1390, 02:25 صبح
سلام !
1. اگه یه جستجو می کردی زودتر به نتیجه میرسیدی
2. برای دیتابیس کامپوننت MSADODC.ocx
3.بهتره به جای استفاده از OCX از DLL استفاده کنی (Microsoft ActiveX Data Objects 2.6 Library)
4.اینجا بری به نتیجه میرسی اجرای نشدن برنامه تکمیل شده با ویژوال بیسیک 6 روی سیستم های دیگر (http://barnamenevis.org/showthread.php?296230-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D9%86%D8%B4%D8%AF%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AA%DA%A9%D9%85%DB%8C%D9%84-%D8%B4%D8%AF%D9%87-%D8%A8%D8%A7-%D9%88%DB%8C%DA%98%D9%88%D8%A7%D9%84-%D8%A8%DB%8C%D8%B3%DB%8C%DA%A9-6-%D8%B1%D9%88%DB%8C-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D8%AF%DB%8C%DA%AF%D8%B1)
5. موفق باشی/:بامزه:

akbarg64
چهارشنبه 19 مرداد 1390, 13:08 عصر
سلام.دوست عزیز اول ببین خطا میده یا نه؟؟؟؟دوم اگه خطا نمیده یه ریکورد ثبت کن اگه خطا نداد دیتا بیست رو باز کن ببین ثبت شده یا نه؟؟؟؟؟خبرش رو بهم بده تا بگم چیکار کنی.منم برای اولین بار چند وقت پیش این مشکل برام پیش اومد.موفق باشید.

farboodj1375
چهارشنبه 19 مرداد 1390, 13:48 عصر
سلام.دوست عزیز اول ببین خطا میده یا نه؟؟؟؟دوم اگه خطا نمیده یه ریکورد ثبت کن اگه خطا نداد دیتا بیست رو باز کن ببین ثبت شده یا نه؟؟؟؟؟خبرش رو بهم بده تا بگم چیکار کنی.منم برای اولین بار چند وقت پیش این مشکل برام پیش اومد.موفق باشید.

ممنون دوست عزیز از توجهت.
نه خطا نمیده.
فقط وقتی برنامه رو باز میکنیم هیچی از اطلاعات بانک رو نشون نمیده.
در مورد ثبت کردن تست نکردم.
الان رو سیستم خودم ویژوال رو پاک میکنم تست میکنم نتیجش رو میگم...

farboodj1375
چهارشنبه 19 مرداد 1390, 13:57 عصر
یه سوال : اگه با نرم افزارای پرتابل ساز که تغییرات ایجاد شده بعد از نصب نرم افزار رو تو سیستم ثبت میکنن چندتا نرم افزار و همزمان پرتابل کنیم توی یه فایل مشکل حل نمیشه؟(مثلا ویبی و کریستال ریپورت و نرم افزار خودمون و ...)

vbhamed
چهارشنبه 19 مرداد 1390, 15:08 عصر
سلام

دوست عزيز

اين مبحث بارها مطرح شده، شما بايد براي اجراي برنامتون روي سيستمهاي ديگه ستاپ بسازيد
حالا اينكه يك فايل و رجيستر كنيد و يك فايل رو كپي كنيد و ... كه نميشه راه حل
نرم افزارهاي ستاپ ساز معروف مثل Wise Installation Syste,, InstallShield, Setup Factory هم اكثرا قسمتي دارن كه پروژه ويژوال بيسيك رو مي‌گيرن و فايلهاي مورد نياز رو خودشون در بسته ستاپ ميزارن
فايلهايي مثل ديتابيس و ... رو هم كه خودمون قرار مي ديم
اصلا هم كار سختي نيست

akbarg64
چهارشنبه 19 مرداد 1390, 16:03 عصر
سلام.ببین دوست عزیز من قبلا از ستاپ ساز خود ویژال استفاده میکردم و بعد با اسمارت اینستال میکر ستاپ میساختم.تا یه هفته پیش که به مشکل خوردم.و فهمیدم مشکل مربوط به dll ها ocx های به کار رفته است که در محل خودشون کپی نمیشوند.وقتی ستاپی که با ویژال ساختم رو روی سیستمی که اجرا نمیشد اجرا کردم بدون هیچ گونه مشکل و کم و کاستی برنامه اجرا شد.الان رفتم سراغ setup factory. توصیه میکنم تو هم از یکی از نرم افزار هایی رو که دست عزیز جناب vbhamed (http://barnamenevis.org/member.php?10624-vbhamed) معرفی کردن رو استفاده کن.مشکلت 100% حل میشه.و کد نویسی تو مشکلی نداره.موفق باشید.

farboodj1375
چهارشنبه 19 مرداد 1390, 21:59 عصر
دوستان ممنون.
ولی آخه منم که همین کارو میکنم...
اول با ستاپ ساز خود ویبی ستاپ رو میسازم بعدش هم فایلا رو وارد SetupFactory میکنم و ستاپ نهایی رو میسازم...
ممنون.

akbarg64
پنج شنبه 20 مرداد 1390, 13:42 عصر
نیازی نیست که با وی بی ستاپ بسازی.با ستاپ فکتوری ادرس پروژه رو بده بهش خودش بلده چیکار کنه.منکه اون کار رو میکردم از اسمارت اینستال میکر استفاده میکردم و این قابلیت رو نداشت.

farboodj1375
چهارشنبه 26 مرداد 1390, 22:34 عصر
ممنون.
شما امتحان کردین؟
یعنی ستاپ فکتوری از خود ویبی بهتر فایلا رو پیدا میکنه؟
من هنوز با این مشکل دست به گریبانم...:گریه:

akbarg64
چهارشنبه 26 مرداد 1390, 23:53 عصر
اره.میتونی امتحان کنی.

daniyal_1363
جمعه 04 شهریور 1390, 11:56 صبح
ممنون.
شما امتحان کردین؟
یعنی ستاپ فکتوری از خود ویبی بهتر فایلا رو پیدا میکنه؟
من هنوز با این مشکل دست به گریبانم...:گریه:

سلام

درسته Setup Factory تمامی فایل های Dll و OCX رو اضافه میکنه ولی لازمه که بعضی از فایل ها رو خودتون اضافه کنین مثل بانک های اطلاعاتی تون یا مثلاً اگه از یه نرم افزار مانند ActiveSkin استفاده میکنین باید فایل های Skin تون که پسوند Skn دار رو خودتون اضافه کنید و فایل هایی مولتی مدیا مثل (mp3 , wav ,avi و .... )

اینکه برنامه خطا نده و اطلاعات بانک نرم افزارتون نمایش داده نشه میتونه ربط داشته باشه به اینکه شما روی سیستم خودتون یه مسیر ثابت دادین و در یه ویندوز دیگه وقتی نصب میکنین اون مسیر عوض میشه

یه نمونه تو این تایپیک هست که شاید کمکتون کنه http://barnamenevis.org/showthread.php?215067 ( عکس های زیر مربوطه به نمونه همین تایپک هست )

یادتون باشه که مهمترین قسمت نرم افزار برای نمایش اطلاعات بر روی یک سیستم دیگه اینکه این قسمت ( یعنی تو سیستم شما شاید مسیر داده باشین و به جای Data.mdb ادرس یک پوشه خاص توی سیستم خودتون رو داده باشین مثل E:\test\data.mdb - منظورم از مسیر ثابت همین بود )

http://up6.iranblog.com/upload/90/shahrivar/3-5/13143405781.jpg

و این قسمت

http://up6.iranblog.com/upload/90/shahrivar/3-5/13143405782.jpg

درست پر شده باشه

البته راه های دیگه ای هم هست که با کد نویسی میشه ( من خودم همیشه از این روش ها استفاده میکنم )

موفق باشین

farboodj1375
جمعه 04 شهریور 1390, 13:08 عصر
سلام.
ممنون.
ولی من تو آدرس دهی مشکل ندارم و آدرس بانک بر اساس مسیر برنامه بصورت پویا داده میشه.