PDA

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



armira
چهارشنبه 09 فروردین 1391, 11:26 صبح
با سلام خدمت دوستان عزیز
من یه برنامه به زبان دلفی نوشتم.بانک اطلاعاتیمو توی sql server 2005 درست کردم و توی دلفی توسط ADO Connection باهاش ارتباط برقرار کردم. واسه اینکه برنامه روی کامپیوتر مقصد اجرا بشه Server Name یا Data Source رو . قرار دادم. روی کامپیوتر مقصد به روش های مختلف من جمله Attach دستی بانک ،Attach با کدنویسی. نصب sqlهای مختلف نظیر EXPRESS و ... رو هم امتحان کردم. در همه ی موارد یا خطای Login Faild رو میده یا عمدتا خطای Sql Server Does not exist or access denid رو میده. دیگه کلافه شدم.تو سایت هم از روز اول سال نو تا همین الان جستجو کردم. به جواب درستی نرسیدم. تمنا می کنم کمک کنید.آبروم در خطره.:ناراحت:

Felony
چهارشنبه 09 فروردین 1391, 13:16 عصر
تو SQL Server برای دسترسی به SQL تو شبکه باید یک Login به همراه Password تعریف کنید و با SQL Server Authentication و توسط Login ساخته شده به سرور وصل شید نه Windows Authentication .

armira
چهارشنبه 09 فروردین 1391, 13:20 عصر
دوست عزیز با تشکر از پاسخگویی شما . اما من برنامم تحت شبکه نیست و لوکال هست. ضمنا در مورد خطای دوم چی؟ اونم به login ربط داره؟ ضمنا من اگه برنامم رو مثلا با sql server 2005 کار کرده باشم ،باید تو کامپیوتر مقصد هم همین نسخه رو نصب کنم؟

Felony
چهارشنبه 09 فروردین 1391, 15:17 عصر
باید تو کامپیوتر مقصد هم همین نسخه رو نصب کنم؟
نه ، اگر بانک بدون مشکل رو SQL Server سیستم مقصد Attach شد نیازی نیست .

در مورد مشکلتون ConnectionString تون درست هست ؟ اسم User ی که SQL Server روش نصب هست رو درست وارد کردید ؟

nilidelphi
پنج شنبه 10 فروردین 1391, 09:45 صبح
دوست عزيز از لاگين ويندوز استفاده كنيد ببينيد مشكلتون حل ميشه يا نه؟

armira
پنج شنبه 10 فروردین 1391, 15:37 عصر
با سلام.
connection Stringm یا به عبارتی ارتباطم با sql رو با ویزارد Ado Connection خود دلفی تنظیم میکنم. از Authenticate ویندوز هم استفاده میکنم. یعنی با یوزر sql لاگین نمی کنم. اما اسم یوزر چی باید باشه ؟ اصلن یک connection string باید به چه صورتی باشه که روی کامپیوتر مقصد مشکل پیش نیاد ؟ همه چی ریخته به هم. برنامه روی کامپیوتر خودم به راحتی اجرا می شه. اما روی کامپیوتر دیگه که می برم خطای زیر رو میده :
SQL Server does not exist or access denied.:گریه:

armira
پنج شنبه 10 فروردین 1391, 15:39 عصر
دوست گرامی من از لاگین ویندوز استفاده می کنم. اما به نظرم مشکل تو لاگین نیست. برنامه روی کامپیوتر مقصد sql server رو شناسایی نمیکنه. البته در یک مورد هم که شناسایی کرد خطای login faild رو داد.
لطف کنید کمک کنید.

Felony
پنج شنبه 10 فروردین 1391, 17:12 عصر
از لاگین ویندوز استفاده میکنی ؟! اونوقت روی سیستم مقصدت اسم User ی که باهاش تو ویندوز Login کردی همینه ؟!
بابا Windows Authentication برای زمانی هست که روی سیستم خودت میخوای برنامه رو اجرا کنی نه یه سیستم دیگه ، یا باید یک Login برای SQL Server ایجاد کنی و با اون به SQL Server متصل بشی و تو سیستم مقصد که قراره این برنامه روش اجرا شه هم باید این Login تو SQL Server تعریف بشه یا اگر قراره برنامت همیشه به صورت Local کار کنه به جای اسم یوزر تو Connection String یک . بزار یا بنویس (Local) که برنامه بفهمه باید به موتور بانک اطلاعاتی سیستمی متصل بشه که الان روش اجرا شده .

armira
پنج شنبه 10 فروردین 1391, 18:01 عصر
مرسی از راهنماییتون آقای تاجیک. جالبه بدونید من از . به جای اسم یوزر استفاده کردم . اما بازم حل نشد. ببینید یه سوال این که من وقتی میخواستم فقط بانکمو attach کنم ، حتما باید از همون Sql که خودم استفاده کردم ، تو کامپیوتر مقصد هم از همون استفاده میکردم. مثلا من بانکمو تو sql serevr 2005 نسخه standard طراحی کردم اما وقتی روی یک سیستم که sql server express نصبه دستور attach رو اجرا می کردم پیغام میداد :
sql server does not exist or access denied .

Felony
پنج شنبه 10 فروردین 1391, 18:26 عصر
اول یک نسخه معمولی از SQL Server رو روی سیستم مقصد نصب کنید و بانک رو به صورت دستی Attach کنید ، اگر مشکلی نبود برید سراغ نسخه Express .

armira
پنج شنبه 10 فروردین 1391, 18:38 عصر
مرسی از اینکه پیگیری کردید. من این کار رو انجام میدم . اگر به مشکلی برخوردم تو همین پست عنوان میکنم. فقط یه سوال اینکه workstaion id که به صورت خودکار تو connection string قرار میگیره و مقدارش برابر اسم کامپیوتر من هست ، مشکلی ایجاد نمی کنه؟من حتی وقتی دستی از توی connection string حذف می کنم به محض برقراری ارتباط مجددا ایجاد میشه.

nilidelphi
جمعه 18 فروردین 1391, 14:29 عصر
دوست عزیز چیزی که به نظر من میرسه اینه که سرویس های اس کیو ال در اون سیستم مقصدی که میگید در حال Run نیستند.

ahmadi613
شنبه 19 فروردین 1391, 22:18 عصر
دوست عزيز با سلام
من همين مشكل را ذاشتم از نرم افزار installshield استفاده كردم براي برنامه ام setup ساختم كتاب سي صفحه اي با همين نام از مهرداد اسماعيلي هست كه بسيار كامل مي باشد در قسمتي كه احينا obdc هست از همين جا كليه فايل هاي نياز كامپيوتر مقصد در رابطه با اكسس ويا اس كيو ال را در ستاپ قرار مي دهد موفق باشي