PDA

نسخه کامل مشاهده نسخه کامل : فرق بین دو بانک



bluesky_ns
13-11-2009, 13:04
سلام من همیشه جدولهای بانکم رو با sqlserver2000 درست میکنم ودر برنامم برا ی اتصال به بانکم از این رشته استفاده میکنم
"Data Source=(local);Initial Catalog=tel;Integrated Security=True"
حالا سوال من اینه که چطوری میتونم از sqlexpress استفاده کنم و فرقش با sqlserver چیه
' strcon = "Data Source=.\SQLEXPRESS;initial catalog=tel;integrated security=true"

MTPROG
14-11-2009, 12:55
نسخه Express ميتونه حداکثر حجمش تا 2GB باشه و احتياجي به نصب SQL SERVER تو سيستم مبدا نداره و همانند بانک اکسس ميتونه مستقل کار کنه.
البته کانيکشني که شما براي Express تو پست بالا نوشيد احتياج به attach داره.
کانيکشن بدون احتياج به Attach به صورت زير است

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


که البته بهتره فايل تو پوشه جاري باشه و انصوري بنويسيد

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

bluesky_ns
14-11-2009, 17:12
من میخوام از این نسخه استفاده کنم یک دی وی دی دارم که حاوی sql server enterprise و sql server developer است کدوم یکی از اینا مربوط به sql express هست و ایا کار کردن با اون خیلی متفات هست

MTPROG
14-11-2009, 18:15
نسخه Express بصورت پیش فرض تو محیط Visual studo وجود داره (البته اگر هنگام نصب VS غیر فعالش نکرده باشی)
شما احتیاج به نصب هیچ کدوم از نسخه های SQL ندارید میتونید تو محیط VS فایل های بانک اطلاعاتی رو بسازید.

به قسمت Server Explorer در سمت چپ تصویر توجه کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

bluesky_ns
14-11-2009, 20:24
از راهنماییتون ممنونم میشه طریقه ساختن بانک در این محیط رو برام توضیح بدید من یک بانک ساختم ولی پسوند این بانک dbo هستش نه mdf

MTPROG
15-11-2009, 12:17
از مسیر زیر server Explorer را فعال میکنی
Tools->Connect to database
روی data Connection در قسمت Server Explorer کلیک راست کنید

دو گزینه مهم داره :
1-Add Connection : برای زمانی که شما فایلهای بانک رو قبلا ساختی(حالا چه اکسس یا SQL ) و حالا میخوای باهاش ارتباط برقرار کنی

2-Create New SQL Server Database :که میتونی با هاش فایلهای SQL جدید با هاش درست کنی(اصل کاری)

با انتخاب گزینه 2 یک صفحه ظاهر میشه و نام سرور رو انتخاب میکنی اگر هم نشون نداد خودت عبارت SQLEXPRESS/. رو بنویس
بعد در پایین فرم نام بانکتو مینویسی مثلا DB .فقط نام مینویسی دیگه پسوند ننویسی
بعد OK و تمام بانک ایجاد شده حالا میری تیبل میسازی دقیقا مثل خود SQL SERVER

bluesky_ns
15-11-2009, 17:52
سلام من دقیقا مراحلی که شما گفتید رو انجام دادم و بانکی با این نام ساختم sqlexpress.db.dbo\نام کامپیوتر
بازم پسوندش mdf نیست و در قسمت نام server نام sqlexpress/. رو به تنهایی قبول نمیکنه

MTPROG
15-11-2009, 18:20
اطلاعات صفحه ساخت بانک رو مثل تصویر زیر پر کن
میتونی به جای نام کامپیوتر از . هم استفاده کنی

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

MTPROG
15-11-2009, 18:24
بانکی با این نام ساختم sqlexpress.db.dbo\نام کامپیوتر
بازم پسوندش mdf نیست

اشتباه کنید .dbo صاحب فایل هستش نه پسوند فایل. به مسیر زیر برید فایلها رو با پسوند Mdf پیدا می کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

bluesky_ns
20-11-2009, 20:32
سلام دوست عزیز من یک پروزه ایجاد کردم و در اون از طریق sqlexpress بانکم رو ایجاد کردم ولی وقتی پروزه رو ایجاد میکنم به بانکم وصل نمیشه خطایی که میده اینه
strcon = "Data Source=.\SQLEXPRESS;AttachDbFilename=tel.mdf;Integ rated Security=True;Connect Timeout=30;User Instance=True"
خطا
An attempt to attach an auto-named database for file tel.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

MTPROG
21-11-2009, 09:23
این خطا به خاطر اینه که فایل بانک تو کانکشین رو نمیتونه پیدا کنه چون شما مسیر فایل رو تعیین نکردید.

ابتدا در بخش Server Explorer رو کانکیشن کلیک راست کرده اونو Close کنید

بعد به مسیر زیر رفته فایلها رو کپی کنید بریزید تو پوشه برنامه کنار فایل exe

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

بعد کانکشن رو طوری تنظیم کنید که پوشه جاری رو در نظر بگیره


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

فرق این کانکشن با کانکشن قبلی در اینه که به جای tel.mdf از My.Application.Info.DirectoryPath+tel.mdf
جهت در نظر گرفتن پوشه جاری استفاده شده است

bluesky_ns
22-11-2009, 16:43
منظورتون از کنار فایل exe همون پوشه bin /debuge هست ?حالا اگه من این پروزه رو فایل setup رو بسازم و بخوام در یک کامپیوتر دیگه اجرا کنم فقط نیاز به نصب sqlexpress داره?

MTPROG
23-11-2009, 10:05
منظورتون از کنار فایل exe همون پوشه bin /debuge هست ?

بله منظورم همون پوشه است


حالا اگه من این پروزه رو فایل setup رو بسازم و بخوام در یک کامپیوتر دیگه اجرا کنم فقط نیاز به نصب sqlexpress داره?

بله کافی هنگام Setup سازی راه انداز SQLEXPRESS رو هم همراه کنی و دیگه مشکلی پیش نمیاد و برنامه بدون مشکل کار میکنه.
البته یادتون نره باید بانکتون رو هم با Setup همراه کنید

شما وقتی از
My.Application.Info.DirectoryPath
تو کانکشن برنامه استفاده میکنی برنامه جهت اتصال همیشه پوشه ای که فایل exe توش هست رو جستجو میکنه .حالا میخواد این پوشه هر جا باشه اصلا مهم نیست فقط کافی بانکتون تو پوشه ای باشه که فایل exe هست

bluesky_ns
23-11-2009, 18:18
سلام ببخشید اگه دوباره مزاحم میشم راستش من برناممو اجرا کردم و به بانکم هم وصل شدم ولی وقتی مثلا دستور ثبت رو اجرا میکنم برنامه به طور کامل انجام میشه و پیغام ثبت با موفقیت رو هم میده (میدونم که دستوراتم مشکلی نداره ) ولی وقتی میخوام اطلاعات ثبت شده توی بانکم رو در show table data ببینم هیچ چیزی در بانکم وجود نداره

MTPROG
24-11-2009, 10:16
ولی وقتی میخوام اطلاعات ثبت شده توی بانکم رو در show table data ببینم هیچ چیزی در بانکم وجود نداره

این مشکل بیشتر در حین اجرای برنامه تو محیط VS به وجود میاد و به خاطر اینه که دو نمونه از بانک وجود دارد.
اگر شما فقط فایل EXE رو اجرا کنید میبینید همه اطلاعات هست ولی وقتی در حال دیباگ گیری هستی اطلاعات نیست

وقتی شما فایل EXE رو اجرا میکنید برنامه تو پوشته که فایل exe هستش دنبال بانک میگرده
(C:\Project\bin\debug\bank.mdf)
ولی وقتی تو محیط VS برنامه رو اجرا میکنی تو پوشه ای که فایلهای سورس برنامه هست دنبال بانک میگرده
(C:\Project\bank.mdf)
به همین خاطره که این مشکلات به وجود میاد.هر چند این مشکل موقته و برنامه شما در حالت عادی مشکلی نداره

قبلا هم در تاپیک زیر این مشکل بحث شده است میتونید به اونجا هم سری بزنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید