PDA

View Full Version : مبتدی: برقراری ارتباط با بانک اطلاعاتی



mehran788
جمعه 02 آبان 1393, 18:46 عصر
سلام خسته نباشید
من سه تا سوال درباره بانک اطلاعاتی دارم که ممنون میشم اگه بهم جواب بدین.
اول اینکه چطور بهش آدرس بدم تا بانک اطلاعاتی از مسیر اجرا شدن برنامه بانک رو بخونه یعنی بهش آدرس نسبی بدم؟
دوم اینکه ویندوز هشت نسبت به مسائل امنیتی یکم اذیت میکنه یعنی اگه بانک تو درایو سی ویندوز هشت باشه نمیذاره توش چیزی بنویسی و میگه بانک read only هست حتی خیلی از برنامه ها رو هم تو ویندوز هشت باید run as administrator کنی تا درست کار کنه ولی این برنامه ها روکه نمیشه همچین کاری کرد.
سوال آخر اینکه الان داشتم تو اینترنت راجع به این سوال میگشتم تا ببینم چطور کانکشن استرینگ بنویسم ولی یه چیزایی آورد که من سردر نیاوردم مثلا کانکشن استرینگ به صورت زیر بود
SqlConnection cn = new SqlConnection(@"Data Source=MY-PC;Initial Catalog=DB1;Integrated Security=True");

تو این کانکشن استرینگ نه آدرسی تعیین شده نه چیزی پس چطور درست کار میکنه. من کانکشن استرینگ هایی که تعریف میکنم به این صورته
Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Projects\M y Projects\1- Randomizer\Randomizer\Randomizer\Database.mdf;Inte grated Security=True;User Instance=True
ممنون میشم اگه کمکم کنید

محمد آشتیانی
جمعه 02 آبان 1393, 19:23 عصر
سلام
سوال اول
دیتابیس رو تو کنار فایل اجرایی برنامت بذار و از کانکشن استرینگ با فرمت زیر استفاده کن

"Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\test.mdf;Database=test;Integrated Security=True;Connect Timeout=30;User Instance=True"

سوال دوم
از طریق برنامه های ستاپ ساز مثل InstallAwareمیتونی تنظیمات دسترسی به فولدرها رو تنظیم کنی موقع نصب و یا تو درایوی غیر از C نصب کنی برنامتو

سوال سوم
این کانکشن استرینگ مربوط به نسخه Enterprise از SqlServerهست و نیازی به آدرس نداره ، در واقع شما فقط با دیتابیس انجین ارتباط داری و کاری به مسیر فیزیکی دیتابیس نداری و کانکشن استرینگی که شما استفاده میکنی و بالاتر هم گفتم مربوط به SqlServer Express هست.

نکته آخر هم اینکه هر قبل از ایجاد تاپیک لطفا جستجو کنید و سوالات رو تو تاپیک های جداگانه مطرح کنید.

موفق باشید.

mehran788
جمعه 02 آبان 1393, 21:36 عصر
خیلی ممنون از راهنماییتون. خیلی کامل و جامع بود.
در مورد تذکرتون هم چشم حتما :لبخندساده:

mehran788
جمعه 09 آبان 1393, 19:30 عصر
دوباره سلام.
من این کد رو استفاده کردم ولی به مشکل برخوردم. datadirectory به پوشه ای که فایل اجرایی در اون هست اشاره می کنه که پوشه bin میشه چون وقتی پروژه رو build میکنی هم فایل رو میسازه میذاره اونجا و هم یک نسخه از بانک اطلاعاتی رو و الان من هرچی وارد بانک اطلاعاتی می کنم مستقیما در پوشه bin نوشته میشه ولی بانک اطلاعاتی اصلی من اونجایی هست که فایل sln پروژه ام هست. یعنی من تغییرات رو تو خود ویژوال استودیو نمی تونم ببینم منظورم اینجاست:
125141
حالا من چیکار کنم که این دو تا رو با هم یکی کنم.
خیلی ممنون