اول سلام.
متاسفانه باید بگم که اغراق های بیجا و نادرست افراد باعث میشه که توقعات و انتظارات افراد نسبت به دیگران بالا بره.
من نه استادم و نه برنامه نویس حرفه ای. فقط گاها برنامه می نویسم.
با #C و Asp.net هم کار کردم یه سری پروژه کوچولو نوشتم.
از بانک ها هم فقط با express و sqlserver کار کردم ... البته از لحاظ خود برنامه بانک و connection string هست که تفاوت ایجاد میکنه در نوع استفاده از بانک نه در برنامه نویسی.
من فقط تا اونجایی که سوادم اجازه بده میتونم کمکتون کنم و اگر نتونستم شما را به هدفی که دارین برسونم پوزش میخوام.
در مرحله اول باید بدونم که چرا مسیر absolute فایده نداره؟
با توجه به چیزی که میدونید در Connection string ها همیشه مسیر absolute استفاده میشه حالا یا فایل در مسیر solution مورد نظر قرار داره که connection string آن به در حالت استفاده از OLEDB (که برای access هم استفاده میشه) صورت زیر میشود:
کد:
string cs="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\{0};User Id=admin;Password=123;";
همانطور که میبینید عبارت |DataDirectoy| باعث میشود که مسیر فیزیکی پوشه solution مورد نظر به جای آن قرار بگیرد. و همانطور که میدونید در سی شارپ میتوان یک رشته را فرمت کرد یعنی مشابه کاری که من کردم مقادیری را که میخواهیم در یک رشته قرار دهیم با {عدد} تعیین میکنیم و سپس رشته را فرمت کرده و مقادیر را به آن معرفی میکنیم.
دلیل اینکه چرا مسیر absolute جواب نمیده مهمه ... چرا که میشه حتی یه کاری کرد که اصولی باشه... یعنی شما یک string تعریف کنید و داخل آن مسیر پوشه ای که بانک های اطلاعاتی شما در آن قرار دارد را قرار دهید مثلا:
و سپس در موقع استفاده از connection string ها، خود این string تعریف شده را در بین آن قرار دهید...
البته یه حالت دیگه هم هست و اونم اینکه مثلا در یک شبکه باشیم و جایی که بانک قرار داره روی یک کامپیوتر و جایی که پروه ما قرار داره بر روی یک کامپیوتر دیگه و پوشه ای که بانک در آن قرار دارد share شده باشد... در این حالت باید از نوع connection string دوم استفاده کنید... مثل حالت زیر که از ODBC استفاده شده:
کد:
"Driver={Microsoft Access Driver (*.mdb)}; Dbq=\\myServer\\myShare\\myDb.mdb;"
که myserver نام سرور بانک اطلاعاتی است که در شبکه موجود است و myshare نام پوشه share شده ....
حالا اگه یکم بیشتر توضیح بدین که من رقیقا بدونم چرا نمیشه مسیر absolute استفاده کرد شاید بتونم بیشتر کمکتون کنم.
دو سایت خوب هم در مورد connection string ها معرفی کنم شاید به دردتون بخوره و اصلا همونا کارتون را راه بندازه:
تنها اعضای سایت میتوانند لینک ها رو ببینند.