PDA

View Full Version : مبتدی: قرار دادن فایل دیتابیس کنار فایل exe



mehdi.b
یک شنبه 12 مهر 1394, 17:16 عصر
سلام
من با sql server یه دیتابیس ساختم و می خوام کنار فایل exe قرارش بدم
باید چی کار کنم
ممنون میشم کمکم کنید

abdullah20
یک شنبه 12 مهر 1394, 18:56 عصر
دیتابیس را دی اتچ کنید و فایل mdf و log را کپی کنید

mehdi.b
یک شنبه 12 مهر 1394, 22:36 عصر
دیتابیس را دی اتچ کنید و فایل mdf و log را کپی کنید
نتونستم کپیش کنم کنار فایل exe رفتم با sql express یه دیتابیس دیگه ساختم

دی اتچ چطوریه؟

abdullah20
یک شنبه 12 مهر 1394, 22:45 عصر
در sql روی نام دیتابیس راست کلید و detach را بزنید
برای کپی کردن هم به این مسیر برید
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
10 مربوط به 2008 است

mehdi.b
دوشنبه 13 مهر 1394, 20:24 عصر
آقا دمت گرم

mehdi.b
دوشنبه 13 مهر 1394, 20:37 عصر
من از برنامم exe ساختم بعد نصبش کردم این ارور رو میده
مشکلش چیه ؟
135757

abdullah20
سه شنبه 14 مهر 1394, 00:30 صبح
مشکل از کانکشن است
شما مسیر دسکتاپ را دادید
باید کانکشن را تغییر بدید

mehdi.b
سه شنبه 14 مهر 1394, 09:07 صبح
چطوری باید این کار رو انجام بدم؟
می خوام برنامه رو سر سیستم های دیگه هم نصب کنم

mehdi.b
سه شنبه 14 مهر 1394, 09:57 صبح
این فایلی که روی دسکتاپ هست خروجی برناممه باید دیتابیس کنارش باشه به همین دلیل ارور میده
رفتم توی پوشه که نصبش کردم اجراش کردم این ارور رو میده
135764

abdullah20
سه شنبه 14 مهر 1394, 10:11 صبح
برنامه را در درایور c نصب کردید و دیتابیس فقط خواندنی شده
باید در هنگام ساخت ستاپ کاری کنید که اگر در درایور c هم نصب کردید پایگاه داده فقط خواندنی نشه

mehdi.b
سه شنبه 14 مهر 1394, 10:14 صبح
چطوری این کارو انجام بدم؟

mehdi.b
سه شنبه 14 مهر 1394, 15:29 عصر
اگه بتونید فیلم یا هر نوع آموزشی بهم بدید ممنون میشم

shahab.es
سه شنبه 14 مهر 1394, 15:56 عصر
سلام
با کد زیر میتونی دیتابیست رو از حالت رید انلی در بیاری
به نظرم میتونی توی فرم لود ازش استفاده کنی و برای جلوگیری از بعضی دستکاری ها یا مشکلات، توی فرم کلوز بیای و ببندیش
موفق باشی



System.IO.FileInfo fileInfo = new System.IO.FileInfo(masirDB);
fileInfo.IsReadOnly = true/false;

اگه True باشه یعنی فقط خواندنی و اگه False بذاری یعنی قابل نوشتن میشه

mehdi.b
سه شنبه 14 مهر 1394, 17:49 عصر
سلام
با کد زیر میتونی دیتابیست رو از حالت رید انلی در بیاری
به نظرم میتونی توی فرم لود ازش استفاده کنی و برای جلوگیری از بعضی دستکاری ها یا مشکلات، توی فرم کلوز بیای و ببندیش
موفق باشی



System.IO.FileInfo fileInfo =newSystem.IO.FileInfo(masirDB);
fileInfo.IsReadOnly=true/false;

اگه True باشه یعنی فقط خواندنی و اگه False بذاری یعنی قابل نوشتن میشه

اینو مستقیم توی لود فرم بنویسم ؟

mehdi.b
سه شنبه 14 مهر 1394, 17:52 عصر
صفحه کامل لود نشده بود اینطوری نشون میداد
ممنون
135809

mehdi.b
سه شنبه 14 مهر 1394, 18:21 عصر
سلام با کد زیر میتونی دیتابیست رو از حالت رید انلی در بیاری به نظرم میتونی توی فرم لود ازش استفاده کنی و برای جلوگیری از بعضی دستکاری ها یا مشکلات، توی فرم کلوز بیای و ببندیش موفق باشی System.IO.FileInfo fileInfo = new System.IO.FileInfo(masirDB); fileInfo.IsReadOnly = true/false; اگه True باشه یعنی فقط خواندنی و اگه False بذاری یعنی قابل نوشتن میشه
مسیر دیتابیس رو چطوری پیدا کنم؟
سر هر سیستم متفاوته

shahab.es
سه شنبه 14 مهر 1394, 23:16 عصر
تا جایی که من میدونم، یه فایل هست توی solutionExplorer به اسم
app.config که من وقتی با دیتا ست کار میکنم هستش(با روش های دیگه کار نکردم اما فک کنم توی لینک هم بود!!)
باید برید و توی قسمت کانکشن استرینگ شکل کلی زیر رو باید به شکل کد دومی که میذارم تغییر بدید... در ضمن، حتما باید دیتابیس رو در پوشه bin و debug قرارش بدید و دقیقا در کنار فایل exe برنامه
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="C:\Users\Shahab.es\Desktop\Site Manager\site manager\site manager\bin\Debug\managerdb.accdb""


باید به شکل زیر بشه



connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="|datadirectory|\managerdb.accdb""

mehdi.b
چهارشنبه 15 مهر 1394, 10:11 صبح
تا جایی که من میدونم، یه فایل هست توی solutionExplorer به اسم
app.config
که من وقتی با دیتا ست کار میکنم هستش(با روش های دیگه کار نکردم اما فک کنم توی لینک هم بود!!)
باید برید و توی قسمت کانکشن استرینگ شکل کلی زیر رو باید به شکل کد دومی که میذارم تغییر بدید... در ضمن، حتما باید دیتابیس رو در پوشه bin و debug قرارش بدید و دقیقا در کنار فایل exe برنامه
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="C:\Users\Shahab.es\Desktop\Site Manager\site manager\site manager\bin\Debug\managerdb.accdb""


باید به شکل زیر بشه



connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="|datadirectory|\managerdb.accdb""


ممنون

یه ستاپ ساز دانلود کردم و موقع ساخت ستاپ بهش دسترسی کامل دادم مشکل حل شد
ولی یه مشکل دیگه دارم:ناراحت:
نمیدونم چطوری توی ستاپ رانتایم هامو اضافه کنم (همون چیزای که باید سر سیستم مقصد نصب باشه)
(نمیدونم درست گفتم یا نه!؟)
من از Advanced Installer 12.4.2 استفاده می کنم

mehdi.b
چهارشنبه 15 مهر 1394, 10:43 صبح
آقا مشکلم حل شد
دست تون درد نکنه