مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

naser.sadeghi

عضویت از 1396/01/04

مشکل ایجاد فایل نصب با استفاده از برنامه InstallAware برای برنامه ای به زیان #C , دیتابیس sqlserver

  • یکشنبه 1 بهمن 1396
  • 16:28
تشکر میکنم

با سلام
بنده یک برنامه Windows form application با استفاده از C# دارم که می خوام فایل نصب اون رو بسازم در ضمن باید بگم که برنامه من به بانک اطلاعاتی Microsoft sql server وصل هستش که به صورت local روی سیستمم نصب شده.

برای این منظور ابتدا sql server express رو نصب کردم و دیتا بیسم رو از طریق generate scripts به express انتقال دادم بعد detach کرده و فایل mdf و ldf رو در پوشه زیر کپی کردم (نام پروژه ام: Naser)
Naser\Naser\bin\Debug

حالا برای ادامه کار نیاز دارم که connection string ام رو ویرایش کنم من از connection string زیر استفاده می کنم ولی با error مواجه می شم:

<connectionStrings>
    <add name="NaserEntities" connectionString="metadata=res://*/Classes.MyWorkShopModel.csdl|res://*/Classes.MyWorkShopModel.ssdl|res://*/Classes.MyWorkShopModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Naser.MDF;Integrated Security=true;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>
  </connectionStrings>

لطفا راهنمایی ام کنید که connection string رو باید چی وارد کنم؟ مهم هم نیست که این رشته حتما باید تو فایل app.config باشه می تونه به صورت داخلی هم تو خود برنامه به صورت زیر باشه:

sqlConnection con1 = new sqlConnection();

cin1.connectiontring =- |"";

پاسخ های این پرسش

تعداد پاسخ ها : 9 پاسخ
کاربر سایت

naser.sadeghi

عضویت از 1396/01/04

  • یکشنبه 1 بهمن 1396
  • 16:29

ویرایش خط آخر:

con1.connectionString = "";

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 1 بهمن 1396
  • 16:34

متن ارور را قرار دهید

دسترسی read و  write به بانک دادید ؟

کاربر سایت

naser.sadeghi

عضویت از 1396/01/04

  • یکشنبه 1 بهمن 1396
  • 16:54

دسترسی read و write رو باید تو برنامه InstallAware بدم این مشکل قبل اون مرحله برای من پیش میاد وقتی که می خوام پروژه ام رو با دیتابیس جدید تست کنم. وقتی از connectionString ای که بالا گفتم استفاده می کنم این خطا رو می گیرم:

Keyword not supported: 'metadata'.
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 1 بهمن 1396
  • 18:47

نمونه رشته اتصال

<add name="PUBSEntities" connectionString="metadata=res://*/Models.Pubs.csdl|res://*/Models.Pubs.ssdl|res://*/Models.Pubs.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Bashgah100Data.MDF;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 

کاربر سایت

naser.sadeghi

عضویت از 1396/01/04

  • یکشنبه 1 بهمن 1396
  • 19:14

فرض کنیم اسم دیتابیس من باشه: Naser

من با این فرض از این رشته اتصال استفاده کردم:

<add name="PUBSEntities" connectionString="metadata=res://*/Models.Pubs.csdl|res://*/Models.Pubs.ssdl|res://*/Models.Pubs.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Naser.MDF;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

ولی باز هم موقع استفاده خطای زیر رو گرفتم:

Keyword not supported: 'metadata'.

مشکل از چی می تونه باشه؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 1 بهمن 1396
  • 22:25

از چه ORM استفاده کردید ؟

کاربر سایت

naser.sadeghi

عضویت از 1396/01/04

  • دوشنبه 2 بهمن 1396
  • 23:37

از ORM خاصی استفاده نمی کنم بانک اطلاعاتی برنامه چند تا دستور select و insert ساده + یک stored procedure داره که به روش قدیمی پیاده سازی شده. در ضمن DBMS ای  که استفاده شده Microsoft SQL Server Express هستش.

کاربر سایت

naser.sadeghi

عضویت از 1396/01/04

  • سه شنبه 3 بهمن 1396
  • 01:20

در ضمن باید خدمتتون عرض کنم که الان رشته اتصال رو من تغییر دادم و اینبار خطای زیر رو می گیرم:

Additional information: Directory lookup for the file "C:\Users\Naser Sadeghi\Desktop\Projects\Naser\Naser\bin\Debug\Naser.mdf" failed with the operating system error 5(Access is denied.).

Cannot attach the file 'C:\Users\Naser Sadeghi\Desktop\Projects\Naser\Naser\bin\Debug\Naser.mdf' as database 'Naser'.

رشته اتصال جدید:

"Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|Naser.mdf;Database=Naser;Integrated Security=True";

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 3 بهمن 1396
  • 08:34

رشته اتصال قبلی شما برای  Entity بود

رشته اتصال جدید صحیح است

متن ارور میگه به مسیر دسترسی ندارید

برنامه را به صورت run as admin اجرا کنید

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

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

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)