PDA

View Full Version : سوال: منظور از data directory در connection string چیست



alih988
جمعه 14 تیر 1387, 00:39 صبح
به نام خدا

دوستان ، منظور از data directoty که در کانکشن استرینگ نوشته میشه چیه ؟

"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\object_DB.mdf;Integrated Security=True;User Instance=True"

الان اطلاعات من کجا ذخیره میشه ؟ اگه بخوام از بانک کپی بگیرم ، کدوم فایل را باید از کجا کپی کنم

mohammad272005
جمعه 14 تیر 1387, 02:01 صبح
http://www.connectionstrings.com/?carrier=sqlserver2005

alih988
جمعه 14 تیر 1387, 10:11 صبح
آقا محمد ، من در این لینک پاسخ سوالم رو پیدا نکردم ، من میدانم که کانکشن استرینگ جه هست و چه کار انجام می دهد ، و چطور نوشته می شود ،

پرسیدم منظور از datadirectory جیست ؟ آیا پوشه خاصی است ؟ فرض کنید من الان بخواهم از بانکم کپی بگیرم ، به چه مسیری باید برم تا کپی بگیرم؟

Sajjad.Aghapour
جمعه 14 تیر 1387, 12:06 عصر
مسیر فایل اجرایی که دیتابیستون داخل اون قرار داره رو بر میگردونه.به طور مثال اگه دیتا بیس شما در درایو D قرار داشته باشه مجبورید آدرس رو تایپ کنید.ولی وقتی از DataDirectory استفاده می کنید آدرس Bin\Debug یا حالا هر جای دیگه(که فایل اجرایی شما از اونجا اجرا میشه) رو بر میگردونه

razavi_university
جمعه 14 تیر 1387, 12:24 عصر
در تکمیل صحبتهای دوستم جناب Sajjadlove
DataDirectory یک متغیر محیطی است که به فولدری که فایل اجرایی برنامه شما در آن اجرا می شود اشاره می کند و برای داینامیک کردن CS و همچنین خلاصه نویسی اون کاربرد داره
مثلا به جای اینکه بنویسید
"Data Source= c:\program files\MyApp\Mydb.sdf"
میتونین بنویسید
“Data Source = |DataDirectory|\Mydb.sdf”
همونطوری که گفتم در حالت پیشفرض به مسیر اجرایی برنامه اشاره می کنه ولی می تونین خودتون هم مسیر خاصی رو برای اون مشخص کنین به این صورت


AppDomain.CurrentDomain.setData(“DataDirectory ,”C:\newPath\”);

برای اطلاعات بیشتر :
Relative paths in ConnectionString (http://blogs.msdn.com/dataaccess/archive/2005/10/28/486273.aspx)

برای اطلاع در مورد AppDomain به تاپیک model view controler جناب r.kiani مراجعه کنید

alih988
جمعه 14 تیر 1387, 16:20 عصر
دوستان خیلی ممنونم از راهنمایی شما.

اجازه بدید مشکلم را طور دیگری مطرح کنم ، شاید بهتر بتوانید راهنمایی کنید.

من برای اینکه یک بانک از پیش طراحی شده با پسوند mdf به پروژه ام اضافه کنم ، روی پروژه سلوشن راست کلیک می کنم ، add exist item رو انتخاب می کنم و یک بانک با پسوند mdf رو اضافه می کنم .
این بانک هم در سلوشن ظاهر میشه ، و هم در سرور اکسپلورر .

و از طریف همون متغیر محیطی datafirectory + نام بانک میتونم بهش وصل بشه ،
ولی اشکال کار اینجاس ، وقتی اطلاعتم رو در بانک ثبت می کنم ، و کمی با سورس برنامه ور میرم ، دوباره بانک به همون شکل اولی که به پروژه اضافه کردمش میشه ، یعنی اطلاعات ثبت شده همگی پاک میشه.

یک موضوع دیگه اینکه مگه نباید اطلاعات ثبت شده رو از داخل پنجره server explorer بشه دید ؟ ولی فقط همون اطلاعاتی که از اول با خود بانک بود رو میشه ملاحظه کرد

Sajjad.Aghapour
جمعه 14 تیر 1387, 18:21 عصر
دوست عزیز من هم همین مشکل رو دارم.اینجا رو نگاه کن......
http://barnamenevis.org/forum/showthread.php?t=112157

alih988
شنبه 15 تیر 1387, 13:16 عصر
آقا سجاد عزیز ، تاپیک شما را مطالعه کردم ، مشکل شما شباهتی به مشکل من نداشت ، من به راحتی داده ها را در جدول ثبت می کنم ، ولی نمدانم چرا پایدار نیست ، و بعد از اینکه پروژه را reload می کنم ، پاک میشه

nooriyeh
شنبه 14 آذر 1388, 11:03 صبح
سلام
من در پروژم از یه database استفاده کردم که در مسیرهای مختلف save شده
ولی در برنامه از یک ConnectionString استفاده کردم.وقتی اطلاعاتی به database اضافه میکنم,
وارد databaseی میشود که در مسیر bin\object هست میشود.ولی وقتی یک storedprocedure اجرا میکنم از یک database دیگه که در مسیر دیگری هست اجرا میشه.
این اولین بار که برای من چنین مشکلی پیش میاد.نمیدونم علتش چیه.
اگه شما میدونید لطفا راهنمایی کنید.
با تشکر

xxxxxxxxxx
یک شنبه 15 آذر 1388, 09:41 صبح
سلام احتمالا با اين روش حل شود:روي بانك تون در سولشن راست كليك كنيد و دنبال يك خاصيت كه وضعيت كپي كردن بانك در هر بار اجراي برنامه بايد اتفاق بيافتد را تنظيم كنيد به هيچ وقت.خاصيت Copy out put....اميدوارم مفيدباشد.

xxxxxxxxxx
یک شنبه 15 آذر 1388, 09:49 صبح
سلام احتمالا با اين روش حل شود:روي بانك تون در سولشن راست كليك كنيد و دنبال يك خاصيت كه وضعيت كپي كردن بانك در هر بار اجراي برنامه بايد اتفاق بيافتد را تنظيم كنيد به هيچ وقت.خاصيت Copy out put....اميدوارم مفيدباشد.

nooriyeh
یک شنبه 15 آذر 1388, 16:24 عصر
عید غدیر را تبریک میگم
مشکل اجرا شدن از یه database حل شد, ولی مشکلی که پیش اومده اینه که نمی تونم آیتم جدیدی( مثل table,storedprosedure) به database اضافه کنم.
یعنی بار اول که این آیتم ها را اضافه میکنم,اگه از database اجرا کنم اجرا میشه,بعد که در پروژه اونها را صدا کنم دیگه اجرا نمیشه.وقتی بر میگردم دوباره از database اجرا کنم اونها را اجرا نمیکنه
اگه هم database را refresh کنم اون آیتم ها را پاک میکنه و من مجبور میشم دوباره table و.. را اضافه کنم.
اشکال کار چی می تونه باشه؟