PDA

View Full Version : مشکل در اجرای برنامه بعد از گرفتن ستاپ



omid yeganeh
دوشنبه 23 اردیبهشت 1398, 17:08 عصر
با سلام خدمت اساتید برنامه نویس
من با ویژوال 2015 و sql2014 یه پروژه سی شارپ انجام دادم پروژه هیچ مشکلی نداره راحت اجرا میشه همه چی اوکی هست حالا میخوام ستاپ بگیرم و روی سیستم مشتری نصبش کنم
sql خودمو تبدیل به اکسپرس کردم کار کرد- بعد هنگام گرفتن ستاپ دسترسی read , write هم به دیتابیس دادم روی سیستم مشتری هم sql express نصب کردم وقتی اجرا میکنم برنامه رو این خطا رو میده سرچ هم کردم نتونستم درستش کنم


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



اینم کانکشن استرینگی که توی پروژه و قسمت کانفیگ دارم

connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\TravelOffice.MDF;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True""

danialafshari
دوشنبه 23 اردیبهشت 1398, 19:10 عصر
طبق کانکشن استرینگ شما دیگه نیازی به اتچ ندارید و اگه اتچ بشه خطا میده
مطمئن بشید که 2 کانکشن استرینگ در برنامه وجود نداشته باشه
باید فایل mdf و ldf کنار فایل exe قرار بگیرن
مسائل دیگه هم هست از جمله run بودن سرویس sql ,... ولی ظاهرن مشکل همون بالاییه که گفتم

omid yeganeh
دوشنبه 23 اردیبهشت 1398, 20:46 عصر
نمامی این کارها رو تست کردم درسته ولی باز این خطا رو میده

Shadow_net
دوشنبه 23 اردیبهشت 1398, 20:55 عصر
Security های مربوط به Sql رو انجام بدید
https://stackoverflow.com/questions/2575907/cannot-open-database-test-requested-by-the-login-the-login-failed-login-fail
https://blog.sqlauthority.com/2009/08/20/sql-server-fix-error-cannot-open-database-requested-by-the-login-the-login-failed-login-failed-for-user-nt-authoritynetwork-service/

omid yeganeh
دوشنبه 23 اردیبهشت 1398, 21:04 عصر
درست نشد- کدوم قسمت از کد رو نیاز دارین تا بذارم بررسی شه

omid yeganeh
دوشنبه 23 اردیبهشت 1398, 21:05 عصر
مشکل اینجاس دیتابیسم اتچ نمیشه وقتی با sql دستی اتچ میکنم برنامه کار میکنه ولی بصورت اکسپرس کار نمیکنه

omid yeganeh
دوشنبه 23 اردیبهشت 1398, 21:26 عصر
باید دقیقا همین کانکشن استرینگ رو قرار بدم ؟
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\TravelOffice.MDF;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True""
یا اینکه قسمتی که AttachDbFilename=|DataDirectory| نوشته باید آدرس دیتابیس رو بدم؟

danialafshari
دوشنبه 23 اردیبهشت 1398, 22:58 عصر
این سورس رو بررسی کنید
و در درایوی بغیر از ویندوز قرارش بدید
اگر مشکلتون حل نشد یک سورس ساده ایجاد کنید و قرار بدید تا بررسی بشه

omid yeganeh
سه شنبه 24 اردیبهشت 1398, 03:15 صبح
اینی هم که شما دادی همون خطا رو میده
داداش این پروژه کوچیکو برام راه بندازی دیگه میفهمم جریانش چیه

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

omid yeganeh
سه شنبه 24 اردیبهشت 1398, 03:18 صبح
اینی هم که شما دادی همون خطا رو میده
داداش این پروژه کوچیکو برام راه بندازی دیگه میفهمم جریانش چیه

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

http://s9.picofile.com/file/8360374392/TestAttach.rar.html

اینم لینک فایل پروژه. ممنون میشم کمکم کنید دیگه واقعا خسته شدم

danialafshari
سه شنبه 24 اردیبهشت 1398, 04:05 صبح
به این صورت قرارش بدید

string connectionString = $"Data Source=.\\SQLEXPRESS;AttachDbFilename={Application .StartupPath }\\TestAttach.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

omid yeganeh
سه شنبه 24 اردیبهشت 1398, 11:16 صبح
اینو توی قسمت کانفیگ اضاف کنم؟

omid yeganeh
سه شنبه 24 اردیبهشت 1398, 11:22 صبح
باز همون خطا رو میده
Additional information: Invalid value for key 'attachdbfilename'.

omid yeganeh
سه شنبه 24 اردیبهشت 1398, 13:14 عصر
سلام اقا گرفتم مشکل کجاست فقط یه راهنمایی کوچیک دیگه میخوام
وقتی دیتا بیس هم توی فولدر C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA و هم توی فولدر debug کنار فایل exe هست همه چی اوکیه وقتی دیتابیس رو دیتچ میکنم و یه بار پروژه رو اجرا میکنم خودش اتوماتیک اتچ میشه
کانکشن استرینگم این هست
stringconnectionString = "Data Source=.\\sqlexpress;AttachDbFilename=|DataDirecto ry|\\TestAttach.mdf;Initial Catalog=TestAttach;Integrated Security=True;MultipleActiveResultSets=True;User Instance=False;MultiSubnetFailover=False";


حالا مشکل اینجاست که وقتی فایل های دیتا بیس mdf,log که در مسیر C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA قرار دارن رو پاک میکنم که فقط فایل های دیتابیسی که توی فولدر برنامه قرار داره بمونن اتچ نمیشه بررسی کردم دیدم وقتی اینطوری اجرا میکنم پروژه رو یه فایل log دیتابیس در مسیر C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA ایجاد میشه و فایل mdf,log همچنان در فولدر برنامه کنار فایل exe هستند
اومدم properties دیتابیس رو بررسی کردم دیدم بجای اینکه ادرس log رو از کنار فایل exe بخونه داره از فولدر C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA میخونه

150188

فکر کنم اگه مسیر این دوتا هنگام اتچ اتوماتیک درست شه دیگه همه چی آروم میشه
لطفا راهنمایی کنید ممنون

danialafshari
سه شنبه 24 اردیبهشت 1398, 13:58 عصر
وقتی detach هست چطور Properties ش رو میبینید؟
از توی مسیر sql فایل ها رو پاک کنید
پروژه ضمیمه شده مشکلی نداره و بدرستی ثبت میکنه

omid yeganeh
سه شنبه 24 اردیبهشت 1398, 14:23 عصر
روی دیتابیسی که اتچ شده راست کلیک میکنم بعد properties.

داداش مشکل همینجاست که توی مسیر sql که پاک میکنم فایل ها رو خطا میده
فقط هم بخاطر مسیر ldf هستکه عکسش گذاشتم

asiatec
سه شنبه 24 اردیبهشت 1398, 14:30 عصر
بک اپ بگیرین و موقع ری استور مسیر لاگ و فایل روی عوض کنید

omid yeganeh
سه شنبه 24 اردیبهشت 1398, 14:35 عصر
مثل فایل mdf اتوماتیک تغییر نمیکنه
چون به مشتری بدی برا نصب اون که دسترسی نداره به این کارا

asiatec
سه شنبه 24 اردیبهشت 1398, 14:40 عصر
از EF استفاده کردین؟

omid yeganeh
سه شنبه 24 اردیبهشت 1398, 14:46 عصر
چطوری استفاده کنم بلد نیستم میشه راهنمایی کنین