PDA

View Full Version : مشکل اجرای برنامه از روی سرور



ehsan_zanganeh
چهارشنبه 14 مرداد 1388, 19:17 عصر
سلام

من ی برنامه دارم که تحت شبکه هست. در حال حاضر برنامه رو روی تمام سیستم ها نصب می کنم و یک کانکشن به دیتابیس روی سرور میزنم و کاربران کار می کنن.

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

ehsan_zanganeh
سه شنبه 20 مرداد 1388, 23:47 عصر
لطفا راهنمایی کنید

amirssh
چهارشنبه 21 مرداد 1388, 00:21 صبح
متن خطا رو لطفا اینجا بنویسید تا بتونم راهنمایی کنم

ehsan_zanganeh
چهارشنبه 21 مرداد 1388, 23:51 عصر
سلام
پیغام بسیار کلی ویندوز هست، که می گه، "اگه می خواهید ارسال کنید تا بررسی شود" و یا "خطا ارسال نشود"

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

ehsan_zanganeh
جمعه 23 مرداد 1388, 00:15 صبح
یعنی هیچکس به این مسئله برنخورده

mohammadi4net
جمعه 23 مرداد 1388, 03:28 صبح
نوع شبکه شما اگه ورک گروپ باشه ، نبایدهم اجرا بشه باید از ویندوز سرور استفاده کنید و ...

viper2009
جمعه 23 مرداد 1388, 12:34 عصر
سلام آقا احسان

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

اگر واسه شما کار می کنه منو راهنمایی کن.

mehran20_200
جمعه 23 مرداد 1388, 20:34 عصر
سلام دوست عزیز
من قبلا با این مشکل برخورد کردم و آن را حل کردم

با هر دو بانک اطلاعاتی access و sql هم به راحتی به نتیجه رسیدم

برنامه شما باید به سبکی باشه که تنها با قرار دادن فایل های DLL مورد استفاده در کنار فایل اجرای، برنامه بدون مشکل اجرا بشه

سپس برنامه را روی سرور قرار می دید و ان را مشترک می کنید

حالا می رسیم با جایی که شما گیر کردید

یک فایل پیوست کردم، این فایل را فقط یک بار بر روی تمام کلاینت ها اجرا کنید تا مشکل شما حل بشه

البته لازم به ذکر هستش که باید .NET Framework و سایر ابزارهایی که استفاده کردید را روی کلیه کلاینت ها نصب کنید

ehsan_zanganeh
جمعه 23 مرداد 1388, 21:28 عصر
سلام آقا احسان

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

اگر واسه شما کار می کنه منو راهنمایی کن.

سلام
خیلی راحت
1- برای اطمینان خاطر یک user در Sql برای دیتابیست بساز (برای اینکه به امنیت ویندوز برنخوری) و تنظیم sqlserver هم روی (در منوی tools\sqlserver configuration properties تب security گزینه sql server and windows رو انتخاب کن)
2- کانکشن رو هم از نوع OleDbConnection باشه و برابر


SqlConn = "Provider=SQLOLEDB;Data Source=192.168.0.1 (ای پی سیستمی که دیتابیس هست);User ID=یوزر اس کیو ال;Password=پسورد یوزر;Initial Catalog=نام دیتابیس"


اگه مشکل داشتی بازم در خدمتم
موفق باشی

ehsan_zanganeh
جمعه 23 مرداد 1388, 21:30 عصر
mehran20_200 مرسی
تست می کنم

ehsan_zanganeh
جمعه 23 مرداد 1388, 21:34 عصر
سلام دوست عزیز
من قبلا با این مشکل برخورد کردم و آن را حل کردم

با هر دو بانک اطلاعاتی access و sql هم به راحتی به نتیجه رسیدم

برنامه شما باید به سبکی باشه که تنها با قرار دادن فایل های DLL مورد استفاده در کنار فایل اجرای، برنامه بدون مشکل اجرا بشه

سپس برنامه را روی سرور قرار می دید و ان را مشترک می کنید

حالا می رسیم با جایی که شما گیر کردید

یک فایل پیوست کردم، این فایل را فقط یک بار بر روی تمام کلاینت ها اجرا کنید تا مشکل شما حل بشه

البته لازم به ذکر هستش که باید .NET Framework و سایر ابزارهایی که استفاده کردید را روی کلیه کلاینت ها نصب کنید

می گم نیازی به این نیست که تنظیمات برنامه رو تغییر بدم

mehran20_200
شنبه 24 مرداد 1388, 21:59 عصر
می گم نیازی به این نیست که تنظیمات برنامه رو تغییر بدم

ببین دوست من، شما باید تشخیص بدی که باید چه تغییری بدید (که البته در اکثر موارد نیاز به تغییر نیست)

اصل مشکل:شما برنامه هایی که با زبان های قدیمی نوشته شده اند و بدون نصب اجرا مشوند را روی شبکه مشترک کنید. فایل به درستی روی تمامی کلاینت ها اجرا مشود
اما می ریم سراغ .net ، یک برنامه Hello Word بنویسید و فایل اجرایی را در شبکه مشترک کنید و از کلاینت ها جرا کنید، خواهید دید که فایل اجرا نمی شود(که شما هم قبلا به ان اشاره کردید)

وقتی فایلی را که قبلا پیوست کردم روی هر کلاینت اجرا کنید به راحتی می توانید برنامه را اجرا کنید.

این کار باعث می شه شما مشکل پشتیبانی نداشته باشید. یعنی وقتی برنامه را تغییر دادید فقط فایل جدید را روی سرور می ریزید و کار تمومه، برنامه 300 کلاینت به روز شده.


فقط می مونه بانک اطلاعاتی: اگه از access استفاده می کنید باید پوشه ای را که برنامه را در ان به اشتراک گذاشتید را Full access کنید تا تمامی کاربران بتوانند اطلاعات را ذخیره کنند.
در مورد تنضیمات هم اگه مسیر بانک مطلق نباشه هیچ مشکلی پیش نمیاد

در مورد sql هم که کاملا مشخص هستش باید Data Source را روی ip یا name سرور قرار دهید و در صورتی که از WORKGRUP استفاده نمی کنید نام کاربر و رمز عبور و سایر موارد را هم در رشته اتصال تنظیم کنید.

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

یک فایل پیویت کردم که روش کار را نشون می ده(البته بخشید که غیر اصولی هستش، فقط می خواهم روش کار را نشان بدم)

arsalansalar
شنبه 14 شهریور 1388, 12:50 عصر
سلام دوست عزیز
من قبلا با این مشکل برخورد کردم و آن را حل کردم

با هر دو بانک اطلاعاتی access و sql هم به راحتی به نتیجه رسیدم

برنامه شما باید به سبکی باشه که تنها با قرار دادن فایل های DLL مورد استفاده در کنار فایل اجرای، برنامه بدون مشکل اجرا بشه

سپس برنامه را روی سرور قرار می دید و ان را مشترک می کنید

حالا می رسیم با جایی که شما گیر کردید

یک فایل پیوست کردم، این فایل را فقط یک بار بر روی تمام کلاینت ها اجرا کنید تا مشکل شما حل بشه

البته لازم به ذکر هستش که باید ‎.Net Framework و سایر ابزارهایی که استفاده کردید را روی کلیه کلاینت ها نصب کنید

دوست عزیز این برنامه adjustic زمانی کار می کند که IE شما در ورژن 6 نصب باشد در غیر این صورت کار نمی کند.برای این مشکل فکری کردید؟

arsalansalar
یک شنبه 15 شهریور 1388, 07:59 صبح
کسی نظری نداره؟اگه این مشکل حل شه واقعا مشکل شبکه کردن برنامه حل می شود.

davood-ahmadi
یک شنبه 15 شهریور 1388, 09:36 صبح
وقتی تایپیکهای شما را دیدم حدس زدم مورد چیه. رفتم و بررسی کردمش.
حلش کردم.
شما برنامه ای که می ذارید و به اشتراک می گذاریدش تمام فایلهای داخلش را پروپرتی بگیرید و قسمت Tab امنیت آن کاربرانی که کار می کنند را در این قسمت اضافه کنید و به آن سطح دسترسی کامل بدهید .
حالا از برنامه یک شورت کات بگیرید ، می بینید که توی شبکه هم بدون نصب کار می کند.

arsalansalar
یک شنبه 15 شهریور 1388, 12:43 عصر
یعنی چیه بدون نصب کار می کند؟(متوجه این جمله نشدم،بدون نصب چه برنامه ای)؟
به تمامی فایلها full control بدم؟

davood-ahmadi
یک شنبه 15 شهریور 1388, 16:46 عصر
منظورم این است که برنامه ای که شما آنرا نوشته اید و در شبکه بخواهید آنرا استفاده کنید، بدون اینکه این برنامه را روی کلاینتها قرار دهید فقط کافیست برنامه خودتان را بر روی سرور بگذارید و آنرا به اشتراک بگذارید و تمام کلاینتها از طریق شورت کات، برنامه را اجرا کنند.
حالا برای اینکه برنامه تون به گیر نخوره، کافی است که تمام فایلهای درون فولدر را Select کرده و کلیک راست کنید و گزینه Property را انتخاب کنید و قسمت Security رفته از دکمه Add استفاده کرده و کاربرانی که می خواهند از طریق شبکه با این برنامه کار کنند را انتخاب کرده و بتمام آنها دسترسی کامل بدهید

arsalansalar
دوشنبه 16 شهریور 1388, 07:43 صبح
خوب منم همین کار و می کنم ولی جواب نمیده و پیغام امنیتی میدهد.