PDA

View Full Version : انتقال دیتابیس



gytyonline
سه شنبه 04 خرداد 1389, 09:00 صبح
سلام
من با سی شارپ یه برنامه نوشتم که به دیتابیس هم وصل میشه و اطلاعات رو وارد ، ویرایش حذف و ... می کنه حالا من می خوام این برنامه رو روی یه کامپیوتر دیگه هم ببرم و روی اون هم که هم .net framwork و هم sqlserver نصب هستش اجرا کنم ولی اررور می ده و نمی تونه به دیتابیس وصل بشه مشکل از کجاس ؟؟
البته خودم تا حدی تو نت گشتم و فهمیدم که به خاطر connectionstring هستش که connectionstring برنامه من :


connectionString="Data Source=(local);Initial Catalog=Film;Integrated Security=True"

این هستش ولی فکنم وقتی فایل های database رو می برم روی یه کامپوتر دیگه چون توی sqlserver اون attach نیستش برنامه نمی تونه به دیتابیس وصل بشه ، کسی می دونه توی این جور موارد چه جوری باید به connectionstring ادرس دهی کنیم ؟؟؟
لطفا اگه میشه connectionstring اش رو برام بنویسید .
ممنون.

حسین شهریاری
سه شنبه 04 خرداد 1389, 10:14 صبح
چون توی sqlserver اون attach نیستش برنامه نمی تونه به دیتابیس وصل بشه

خب چرا Attach نمیکنید؟

gytyonline
سه شنبه 04 خرداد 1389, 18:56 عصر
خوب من اگه برای خودم اجرا کنم اره میرم attachesh می کنم اما می خوام بدم به یکی دیگه به خاطر همین می خوام ببینم راهی هستش که db ام خودش خودش رو به sqlserver اتچ (attach) کنه یا نه ؟

حسین شهریاری
سه شنبه 04 خرداد 1389, 21:07 عصر
بله الان متوجه شدم.
1-شما باید چک کنین ببینید که بانک از قبل Attach شده یانه اگه شده که هیچ اگه نشده همون اول با تابع سیستمی زیر اونا Attach کنین.



sp_attach_db [ @dbname= ] 'dbname'
, [ @filename1 = ] 'filename_n' [ ,...16 ]


به عنوان مثال:


EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'

gytyonline
جمعه 07 خرداد 1389, 10:23 صبح
خیلی خیلی ممنون حسین جان
فقط یه سوال مبتدیانه این کد رو توی کجا بنویسم ؟؟ در فرم که توی سی شارپ ساختم یا توی sql ؟؟؟ ممنون میشم در این زمینه هم یه توضیحی بدید .
ممنون

حسین شهریاری
جمعه 07 خرداد 1389, 11:27 صبح
کلیه دستورات SQL را میتونین به عنوان یه Query توی هر زبانی که هستید به SQL بفرستید

gytyonline
جمعه 07 خرداد 1389, 13:59 عصر
پس یعنی من هر کجا که توی برنامه ام به دیتابیس وصل می شه اول باید دستوراتی رو که توی کد دومی هستن ( با تغییرات لازم) بنویسم بعدش کانشکشن رو open کنم دیگه ؟ ( چون کاربر ممکنه اول هر کدوم از اون ها رو بزنه و معلوم نیستش که کدوم یکی اول زده می شه { اخه من چند دکمه توی برنامه ام برای نمایش ، ویرایش و یا ... دارم} ) و فقط باید دفعه اول که کاربر می خواد به دیتابیس وصل بشه چک بشه دیگه ؟
خیلی خیلی از کمکتون ممنونم

حسین شهریاری
جمعه 07 خرداد 1389, 14:03 عصر
باید Query فوق در رویداد Load فرم ابتدایی شما انجام بشه(البته باید چک کنید ببینید که آیا قبلا چنین پایگاه داده ای Attach شده یا نه؟).

موفق باشید