PDA

View Full Version : سوال: ارتباط دادن فایل MDF پایگاه داده SQL به برنامه



asgharjoon2
سه شنبه 17 اردیبهشت 1392, 13:15 عصر
من یه برنامه نوشتم که از پایگاه داده استفاده کردم. SQL Server رو نصب کردم پایگاه داده رو توش درست کردم و مشکلی با برنامه نداره. حالا من میخوام برنامم رو بفروشم و میخوام فایل Setup به کاربر بدم نصب کنه و برنامه رو اجرا کنه. بالطبع کاربر عادی و عامی نصب نرم افزار SQL Server و کار کردن باهاشو بلد نیست حالا من چکار کنم که برنامم مستقیما به فایل MDF وصل بشه بدون نیاز به نصب SQL Server تا کاربر فقط با نصب .Net framework بتونه از برنامه استفاده کنه.
ممنون از کمکتون

keyvan_s89
سه شنبه 17 اردیبهشت 1392, 13:18 عصر
من یه برنامه نوشتم که از پایگاه داده استفاده کردم. SQL Server رو نصب کردم پایگاه داده رو توش درست کردم و مشکلی با برنامه نداره. حالا من میخوام برنامم رو بفروشم و میخوام فایل Setup به کاربر بدم نصب کنه و برنامه رو اجرا کنه. بالطبع کاربر عادی و عامی نصب نرم افزار SQL Server و کار کردن باهاشو بلد نیست حالا من چکار کنم که برنامم مستقیما به فایل MDF وصل بشه بدون نیاز به نصب SQL Server تا کاربر فقط با نصب .Net framework بتونه از برنامه استفاده کنه.
ممنون از کمکتون
خوب باید باید sql express همراه ستاپ باشه و رویه سیستم کاربر نصب بشه

asgharjoon2
سه شنبه 17 اردیبهشت 1392, 13:21 عصر
خوب باید باید sql express همراه ستاپ باشه و رویه سیستم کاربر نصب بشه
این درست اما من چطور فایل MDF رو به به برنامم وصل کنم؟ زمانی که فایل MDF رو DeAtach میکنم برنامه دیگه database رو نمیشناسه

keyvan_s89
سه شنبه 17 اردیبهشت 1392, 13:36 عصر
این درست اما من چطور فایل MDF رو به به برنامم وصل کنم؟ زمانی که فایل MDF رو DeAtach میکنم برنامه دیگه database رو نمیشناسه

باید بانک رو detach کنی و در مسیر پروژت کپی کنی
bin\Debug

بعد با این کانکشن استرینگ اتصال پیدا کنی

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\database name.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

asgharjoon2
سه شنبه 17 اردیبهشت 1392, 14:15 عصر
من اینطورری کردم خطا رفع شد

static SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + "\\DB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
اما نمیتونه جدول رو بخونه

SqlDataAdapter da = new SqlDataAdapter("select * from UNAndP", con);
ds.Tables.Clear();
da.Fill(ds, "UH1");
و اینجا خطا میده

The database 'E:\a\DB.MDF' cannot be opened because it is version 661. This server supports version 655 and earlier. A downgrade path is not supported.
Could not open new database 'E:\a\DB.MDF'. CREATE DATABASE is aborted.
An attempt to attach an auto-named database for file E:\a\DB.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
ممنون میشم کمکم کنید

esafb52
سه شنبه 17 اردیبهشت 1392, 14:46 عصر
از نسخه قدیمی تر دارید استفاده میکنید نسخه جدیدتری رو استفاده کنید

asgharjoon2
سه شنبه 17 اردیبهشت 1392, 14:52 عصر
از نسخه قدیمی تر دارید استفاده میکنید نسخه جدیدتری رو استفاده کنید
نسخه قدیمیه چی؟ من نفهمیدم که میگه چی قدیمیه؟

keyvan_s89
سه شنبه 17 اردیبهشت 1392, 15:26 عصر
با اون کانکشن استرینگی که نوشتم چه خطایی داد ؟

asgharjoon2
سه شنبه 17 اردیبهشت 1392, 15:30 عصر
با اون کانکشن استرینگی که نوشتم چه خطایی داد ؟
خطای خاصی نبود.@ گذاشتم درست شد. حالا شما میدونی ایراد از کجاست؟

keyvan_s89
سه شنبه 17 اردیبهشت 1392, 15:36 عصر
sql express که نصب کردی چه ورژنی بود ؟

asgharjoon2
سه شنبه 17 اردیبهشت 1392, 15:37 عصر
sql express که نصب کردی چه ورژنی بود ؟
من SQL 2008 نصب دارم همین

sgn2006
سه شنبه 17 اردیبهشت 1392, 15:41 عصر
سلام

وسط تاپیک بازیتون یه قابلمه شکر....

چرا با installsheild پک نرم افزار رو نمی سازید
installsheild هم dotnetframework رو آماده می کنه هم SQLExpress رو آماده می کنه و هم برای دیتابیس
شما Script می سازه که زمان نصب برنامه این اسکریپت Run میشه و حتی مسیر db رو توی Installsheil می تونی تعیین کنی

باز هم معذرت می خوام با یه قابلمه شکر

موفق باشید

asgharjoon2
سه شنبه 17 اردیبهشت 1392, 15:43 عصر
سلام

وسط تاپیک بازیتون یه قابلمه شکر....

چرا با installsheild پک نرم افزار رو نمی سازید
installsheild هم dotnetframework رو آماده می کنه هم SQLExpress رو آماده می کنه و هم برای دیتابیس
شما Script می سازه که زمان نصب برنامه این اسکریپت Run میشه و حتی مسیر db رو توی Installsheil می تونی تعیین کنی

باز هم معذرت می خوام با یه قابلمه شکر

موفق باشید
داخل کد نویسی برنامه که از طریق SQL Server من نوشتم نیازی نیست دیگه تغییری ایجاد کنم؟( مثلا connection string)

asgharjoon2
سه شنبه 17 اردیبهشت 1392, 18:50 عصر
خواهشا کمک کنید. اینو پیدا کردم اما قسمت Installer رو نفهمیدم کسی نمونه مثالشو داره؟
http://noorportal.net/javan/itlearn/show-4001.aspx