PDA

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



lightak
چهارشنبه 05 شهریور 1399, 10:28 صبح
سلام

ممنون میشم کمکم کنید

من سایتی رو با mvc و sql 2014 نوشتم و آپلود کردم توی کنترل پنل plesk و از این آموزش (https://مطلب.را.کامل.قرار.دهید/Articles/Article6952.html) استفاده کردم.

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

The context is being used in Code First mode with code that was generated from an EDMX file for either Database First or Model First development. This will not work correctly. To fix this problem do not remove the line of code that throws this exception. If you wish to use Database First or Model First, then make sure that the Entity Framework connection string is included in the app.config or web.config of the start-up project. If you are creating your own DbConnection, then make sure that it is an EntityConnection and not some other type of DbConnection, and that you pass it to one of the base DbContext constructors that take a DbConnection. To learn more about Code First, Database First, and Model First see the Entity Framework documentation here: http://go.microsoft.com/fwlink/?LinkId=394715

دلیلش به کانکشن استرینگ مربوطه یا چیز دیگه؟

مهدی کرامتی
پنج شنبه 06 شهریور 1399, 21:42 عصر
همان طور که در متن خطا نیز مشخص است، میگه کانکشن استرینگ ای که تعریف کرده اید ویژه استفاده در روش کد فرست است، اما در حالت دیتابیس فرست در ابتدای کانکشن استرینگ یک سری تعریفات داره که مربوط به شمای مورد استفاده است.

بهترین راه این است که عین کانکشن استرینگ موجود در web.config تون در پروژه در ویژوال استودیو رو کپی کنید در web.config ، سپس بخش نام سرور، نام دیتابیس، و Username و Password رو بنا به مشخصات دیتابیس در هاست اصلاح کنید.

lightak
پنج شنبه 06 شهریور 1399, 22:06 عصر
همان طور که در متن خطا نیز مشخص است، میگه کانکشن استرینگ ای که تعریف کرده اید ویژه استفاده در روش کد فرست است، اما در حالت دیتابیس فرست در ابتدای کانکشن استرینگ یک سری تعریفات داره که مربوط به شمای مورد استفاده است.

بهترین راه این است که عین کانکشن استرینگ موجود در web.config تون در پروژه در ویژوال استودیو رو کپی کنید در web.config ، سپس بخش نام سرور، نام دیتابیس، و Username و Password رو بنا به مشخصات دیتابیس در هاست اصلاح کنید.

ممنونم از راهنماییتون
کانکشن استرینگ قبلی که تعریف کرده بودم این بود:
<connectionStrings>
<add name="DatabaseEntities" connectionString="Data Source=185.94.98.228,9992;Initial Catalog=mepmosha_mep_db;User ID=developer;Password=***" providerName="System.Data.SqlClient" />
</connectionStrings>

الان به این شکل تغییر دادم
<connectionStrings>
<add name="DatabaseEntities" connectionString="Data Source=185.94.98.228,9992;Initial Catalog=mepmosha_mep_db;User ID=developer;Password=***";MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />
</connectionStrings>

اما ارورش به این شکل تغییر رد:

500 - Internal server error.

There is a problem with the resource you are looking for, and it cannot be displayed.




ممنون میشم راهنمایی کنید.

مهدی کرامتی
پنج شنبه 06 شهریور 1399, 22:23 عصر
اگر از روش دیتابیس فرست استفاده می کنید ابتدای کانکشن استرینگ تون چنین چیزی میبایست باشه:

connectionString="metadata=res://*/Models.AcademyMS.csdl|res://*/Models.AcademyMS.ssdl|res://*/Models.AcademyMS.msl;provider=System.Data.SqlClien t;provider connection string=...

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

<customErrors mode="Off" />
رو به عنوان زیرمجموعه <system.web> در web.cofig اضافه کن تا جزئیات خطا نمایش داده بشه.

در ضمن، پسورد اتصال به دیتابیس ات رو در معرض دید عموم قرار نده!
تکه های کد و ... رو هم در تگ Code و ... قرار بده.

lightak
جمعه 07 شهریور 1399, 00:35 صبح
اگر از روش دیتابیس فرست استفاده می کنید ابتدای کانکشن استرینگ تون چنین چیزی میبایست باشه:

connectionString="metadata=res://*/Models.AcademyMS.csdl|res://*/Models.AcademyMS.ssdl|res://*/Models.AcademyMS.msl;provider=System.Data.SqlClien t;provider connection string=...

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

<customErrors mode="Off" />
رو به عنوان زیرمجموعه <system.web> در web.cofig اضافه کن تا جزئیات خطا نمایش داده بشه.

در ضمن، پسورد اتصال به دیتابیس ات رو در معرض دید عموم قرار نده!
تکه های کد و ... رو هم در تگ Code و ... قرار بده.

,واقعا ممنونم از وقتی که میذارین
الان کانکشن استرینگی توی پروژه دارم اینه
<connectionStrings>
<add name="strConn" connectionString="data source=.\SQLEXPRESS;initial catalog=mep_db;integrated security=True;MultipleActiveResultSets=True;"/>
<add name="DatabaseEntities" connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl;provider=System.Data.SqlClient; provider connection string=&quot;data source=.\SQLEXPRESS;initial catalog=mep_db;integrated security=True;MultipleActiveResultSets=True;App=En tityFramework&quot;" providerName="System.Data.EntityClient"/>
</connectionStrings>

همه ای این قسمت رو باید توی وب کانفیگ هاست هم قرار بدم و فقط مشخصات دیتابیس رو تغییر بدم؟
تجربه ی اولم در آپلوده و واقعا ممنونم از کمکی که میکنین

مهدی کرامتی
جمعه 07 شهریور 1399, 10:25 صبح
بله. کل کانکشن استرینگ لوکال رو کپی کن تو هاست و همان کاری که گفتی رو انجام بده.

lightak
جمعه 07 شهریور 1399, 10:53 صبح
بله. کل کانکشن استرینگ لوکال رو کپی کن تو هاست و همان کاری که گفتی رو انجام بده.
ممنون از راهنماییاتون مشکل حل شد :خجالت: