راستش من زمانی این فکر به ذهنم خورد که یه برنامه بود که با بانک SQL کار می کرد و طریقه نصبش به این صورت بود که باید ابتدا بر روی سیستم برنامه SQL را که تصاویر آن در بالا بود را نصب می کردیم و سپس برنامه مورد نظر را نصب می کردیم . و گفته بود اگه رمز عبور خواست نام کاربری را SA و رمز عبور را خالی بگذارید . در ضمن هرجا برنامه اصلی را نصب می کردیم فایل بانک اطلاعاتیش همونجا بود . برنامه فکر کنم به این صورت بود که خود این بانک اطلاعاتی را به برنامه SQL متصل می کرد . من در اصل می خواستم یه همچین کاری بکنم . که یه فایل بانک اطلاعاتی را از طریق اجرای برانامه به SQL متصل کنم و برنامه کار بکنه .
در اصل برنامه های دیگری هم دیدم که همین طور کار می کنه و کاربر نیاز که دخالت و ایجاد نتظیم و اتصال فایل بانک اطلاعاتی در SQL نمی باشد .
برای این کار من چکار باید بکنم دوستان عزیز ؟
(۱۲-شهریور-۱۳۹۲, ۱۳:۱۲:۰۶)sepahbod نوشته است: [ -> ]راستش من زمانی این فکر به ذهنم خورد که یه برنامه بود که با بانک SQL کار می کرد و طریقه نصبش به این صورت بود که باید ابتدا بر روی سیستم برنامه SQL را که تصاویر آن در بالا بود را نصب می کردیم و سپس برنامه مورد نظر را نصب می کردیم . و گفته بود اگه رمز عبور خواست نام کاربری را SA و رمز عبور را خالی بگذارید . در ضمن هرجا برنامه اصلی را نصب می کردیم فایل بانک اطلاعاتیش همونجا بود . برنامه فکر کنم به این صورت بود که خود این بانک اطلاعاتی را به برنامه SQL متصل می کرد . من در اصل می خواستم یه همچین کاری بکنم . که یه فایل بانک اطلاعاتی را از طریق اجرای برانامه به SQL متصل کنم و برنامه کار بکنه .
در اصل برنامه های دیگری هم دیدم که همین طور کار می کنه و کاربر نیاز که دخالت و ایجاد نتظیم و اتصال فایل بانک اطلاعاتی در SQL نمی باشد .
برای این کار من چکار باید بکنم دوستان عزیز ؟
اون توضیحی که دادم، همین چیزی بود که شما میخواین
شما وقتی برنامتون رو نصب میکنین، اتوماتیک، اس کیو ال سرور اکسپرس نصب میشه. برنامه تون رو اجرا می کنین، با کانکشن استرینگی که بهتون دادم، به دیتابیس وصل میشین، چک میکنین که آیا، دیتابیس شما روی اس کیو ال نصب هست یا نه؟ اگه نصب هست، پس برنامه به روند عادیش ادامه می ده و کار میکنه، اما اگه نصب نیست، باید دیتابیس شما، به همراه تیبل ها، فیلد ها و احیانا اگه Row های خاصی میخواین، باید ساخته بشه! پس دستور ساخت همه اینها رو صادر میکنین، و برنامه دوباره به روند عادی خودش ادامه میده!
با این سیستم، کاربر درگیر کارای نصب اس کیو ال و امثالهم نیست!
دوست عزیزم در کد استرینگی که شما بهم گفتید یه چیزی فکر من را مشغول کرد . برنامه میسر و نام بانک اطلاعاتی من را از کجا بدست میاره و از کجا می فهمه که بانک من در چه پوشه ای و با چه نامی قرار داد ؟
ببینین، همونطوری که توی چند پست قبل هم توضیح دادم، اس کیو ال سرور، با فایل کار نمیکنه! با یه سرویس ویندوز کار میکنه! وقتی اون سرویس اجرا باشه، شما با کانکشن استیرینگی که دادم، بهش وصل می شین و بقیه کارا مثل اتصال به فایل های دیتابیس بر عهده اون سرویس هستش! اصطلاحا به اون سرویس میگن موتور اس کیو ال یا سرویس اس کیو ال سرور!
کلاً همین مسأله هستش که دیتابیسی مثل اکسس رو که File-Based هستش، از اس کیو ال سرور که Server-Based و Service-Based هستش جدا میکنه
من فایل SQL Server Express 2008 R2 را از سایت میکروسافت دانلود کردم و بر روی سیستم مورد نظر آن را نصب نمودم . حالا فایلی که حاوی اطلاعات مورد نظر ما است را در مسیر مثلا D:\date\book.mdf قرار دادیم . حالا در برنامه ویژوال بیسیک 6 خود یک کنترول Adodc1 قرار دادیم و یک کنترول DataGrid1 را به آن متصل کردیم که به محض اتصال اطلاعات در آن به نمایش در بیاید و آنها را مشاهده کنیم . حالا در رویداد Form_Load کد زیر چی بنویسیم ؟ من کد زیر را قرار دادم ولی اتصال بر قرار نمیشه :
کد php:
Adodc1.ConnectionString = "Provider=SQLNCLI10;Server=.\SQLExpress;AttachDbFilename=D:\data\bank.mdf;Database=book;Trusted_Connection=Yes;"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * for name"
Adodc1.Refresh
حالا به نظر شما من کد بالا را به چه صورت تغییر بدهم که اتصال برقرار بشه ؟
از همکاری شما دوست عزیزم بسیار بسیار سپاسگذارم .