PDA

View Full Version : سوال: مشکل در ارتباط با sql server



_abiriamir
جمعه 02 مرداد 1388, 11:31 صبح
سلام دوستان
من بانکم رو با sql server 2005 طراحی میکنم ولی متاسفانه نمیتونم از دلفی باهاش ارتباط برقرار کنم و ارور زیر رو میده.
البته یه دونه از دیتابیس هامو باز میکنه که اونم از داخل خود SQL Server Managment Studio باز نمیشه:گیج:
راستی
الان که من اسم سرور رو وارد نمیکنم برنامه رو ببرم رو کامپیوتر دیگه اجرا میشه؟

aminghaderi
جمعه 02 مرداد 1388, 14:40 عصر
اگه دیتابیس ها داخل خود sql باز نشه؟! من فکر می کنم اسکیوال رو دوباره نصب کنی ضرر نداشته باشه؟!
و برای انتقال برنامه بروی یک سیستم دیگه ، شما باید دیتابیس های برنامه رو به اون اسکیوال سرور سیستم جدید انتقال بدی که به صورت بکاپ یا import/export قابل حل است.

_abiriamir
جمعه 02 مرداد 1388, 16:12 عصر
خب اینجا 2 تا مساله هست:
1. فقط همین دیتابیس که توسط برنامه ام باز میشه توسط خودش باز نمیشه
بقیش توسط برنامه باز نمیشه و با خودش باز میشه :گیج::متفکر:
2. در مورد انتقالش به یه کامپیوتر دیگه منظورتون رو نفهمیدم

_abiriamir
شنبه 03 مرداد 1388, 13:49 عصر
کس نیست کمک کنه؟

بهنام بهمنی
شنبه 03 مرداد 1388, 15:02 عصر
شما ظاهرا فایل فیزیکی مرتبط با پایگاه داده تان را یا پا کرده اید و یا می خواهید برنامه را روی کامپیوتر دیگری اجرا کنید , بدون آنکه پایگاه داده ها را انتقال دهید.بر روی کامپیوتر خودتان اگر ایرادی که در تصویر داده اید, می دهد, باید چک شود که آیا فایل فیزیکی وجود دارد؟آیا کاربری که سرویس SQL را اجرا می کند به آن پوشه دسترسی دارد؟

_abiriamir
شنبه 03 مرداد 1388, 16:10 عصر
اول از همه چیز از شما تشکر میکنم

بعدش یه چندتا سوال برام پیش اومد:
1- برای این که من برنامه ای که بانکش با اکسس یا اس کیو ال سرور هست رو روی یه کامپیوتر دیگه اجرا کنم اکسس یا اس کیو ال سرور باید روی اون کامپیوتره هم نصب باشه؟
2- من دیتابیسمو از توی sql server managment studio ، Detach کردم و اون اروره رفع شد ولی مشکلی که دارم اینه که دیگه نمیتونم فیلدهاشو تغییر بدم و اگه یه مشکل کوچیک پیش اومد باید دوباره بسازمش

moslem.hady
شنبه 03 مرداد 1388, 18:04 عصر
سلام.
جواب سوال1:
برای اکسس لازم نیست ولی برای اسکیو-ال باید یه نسخه کوچیک از اون نصب باشه تا به عنوان سرور استفاده بشه.

_abiriamir
شنبه 03 مرداد 1388, 20:25 عصر
راستی این که فقط sql server توسط برنامه نصب، نصب بشه کافیه یا باید کار دیگه ای هم بکنیم؟

_abiriamir
شنبه 03 مرداد 1388, 20:29 عصر
راستی حالا 2 تا چیز دیگه هم یادم اومد :
1. فایل ldf ایجاد شده با sql server به چه درد میخوره؟
2. فایل ldf هم باید توسط فایل نصب رو کامپیوتر دیگه کپی بشه یا فقط همون mdf کافیه؟

aminghaderi
یک شنبه 04 مرداد 1388, 13:06 عصر
سلام دوست من.
حقیقتا من دلفی کار نیستم ولی حدود یک سال پیش شاید هم بیشتر چند برنامه با دلفی نوشتم که یکی از انها برنامه ای تجاری بود که پایگاه داده داشت .
لازم به ذکر است که من در رابطه با دلفی منبعی خواص نداشتم یه جزوه 10 صفحه ای بود و همین سایت برنامه نویس!
به نظر من اگه از اساتید دلفی همین سایت کمک بگیری خیلی زودتر به نتیجه می رسید! ، کمااینکه من و دیگر دوستانی بودند که به نتیجه مطلوب رسیدیم.
برای انتقال دیتابیس چند راه وجود داره که تا جایی که من حضور ذهن داشته باشم به شرح زیر هست:
1 - از طریق بکاپ گرفتن
برای این کار از داخل خود اسکیوال سیستم خود بروی دیتابیس راست کلیک کرده و بروی گزینه task و سپس گزینه های import/export و بکاب قابل رویت هستند که شما گزینه back up رو کلیک می کنی و فایل بکاپ رو ذخیره می کنید و سپس فایل بکاپ ذخیره شده را به کامپیوتر جدید منتقل کرده و در اسکیوال کامپیوتر جدید یه دیتابیس ساخته و سپس راست کلیک و گزینه Task و بعد Restore را کلیک می کنید و بعد فایل بکاپ گرفته شده را انتخاب کرده و تا اخر ویزارد می روید و تمام. (که ساده ترین راه است البته به نظر من!)
2- import / export هست که بیشتر برای برنامه های تحت شبکه است.(البته تا جایی که من اطلاع دارم!)
3- در صورتی که یک دیتابیس با یک یا دو تیبل دارید می توانید به صورت دستی یه دیتابیس مشابه در کامپیوتر جدید بسازید.

نکته!!!
منبع داده !!! در رشته اتصال( connection string ) خیلی مهم می باشد و باید حاوی آدرس دقیقی از دیتابیس است.

برای مثال:


Data Source=AMIN-A45ADB7E50\\SQLEXPRESS

که البته سنتکس رشته اتصال رو در دلفی متاسفانه فراموش کردم!
ولی منظور همان آدرس نسبی هست که خود اسکیوال در اختیار برنامه نویس قرار می دهد.
که AMIN-A45ADB7E50 همان Server name است که ابتدای ورود بهSQL ت برای اتصال پرسیده می شود. (که بسته به کامپیوتر است که باهاش کار می کنی ، که این سرور نیم کامپیوتر منه )
\\SQLEXPRESS هم مسیر نسبی است که اسکیوال ارائه می دهد.

که برای هرگونه عدم اتصال ابتدا آدرس منبع داده کنترل شود!

که البته برای استفاده از برنامه در همه جا ، به صورت زیر هم استفاده میشه:
Data Source=localhost


و تمام .
در رابطه با دیتابیس سیستم شما با توجه به توضیحاتی که دادی ابتدا همین آدرس منبع رو چک کن اگه بازم مشکل داشت یه بکاپ از دیتابیس های اسکیوالت بگیر و اسکیوال رو پاک کن دوباره نصبش کن ، انشاالله مشکلت حل می شه.
در ضمن یکم جستجو در تالار دلفی ضرر نداره !!!!

موفق باشید.

aminghaderi
یک شنبه 04 مرداد 1388, 13:23 عصر
راستی این که فقط sql server توسط برنامه نصب، نصب بشه کافیه یا باید کار دیگه ای هم بکنیم؟

اگه setup خود اسکیوال منظورت است بله کافیه.

_abiriamir
یک شنبه 04 مرداد 1388, 15:21 عصر
دوست عزیز
اول از شما تشکر میکنم
بعد این که من نمیخوان به صورت دستی کارها رو بکنم
میخوام که فایل نصب رو که اجرا میکنم نصب بشه و تموم
چون ممکنه خودم نتونم برم اونجا و کاربرم نمیتونه این کار رو بکنه

در ضمن
من جواب این سوال رو نگرفتم:

من دیتابیسمو از توی sql server managment studio ، Detach کردم و اون اروره رفع شد ولی مشکلی که دارم اینه که دیگه نمیتونم فیلدهاشو تغییر بدم و اگه یه مشکل کوچیک پیش اومد باید دوباره بسازمش

بعدم این که چیزایی که شما راجع به CONNECTION STRING گفتین رو نفهمیدم.
آخه :
1. این کامپیوتری که برنامه مو میخوام روش نصب کنم داخل شبکه نیست و تنهاست
2. من درون CONNECTION STRING آدرس مستقیم میدم، اینجوری مشکلی پیش میاد؟

_abiriamir
یک شنبه 04 مرداد 1388, 15:23 عصر
نقل قول:
نوشته شده توسط abiriamir
راستی این که فقط sql server توسط برنامه نصب، نصب بشه کافیه یا باید کار دیگه ای هم بکنیم؟
اگه setup خود اسکیوال منظورت است بله کافیه.
خب لازم نیست داخلش کاری بکنیم؟ (بعد از نصبش)

_abiriamir
دوشنبه 05 مرداد 1388, 17:10 عصر
کمک ! ! ! کمک ! ! !

_abiriamir
دوشنبه 05 مرداد 1388, 17:22 عصر
ببخشیدا
این قدر سوالای منو جواب ندادین یکی دیگه هم بهش اضاف شد (!) :

چطوری میتونم sql server 2005 رو در کنار برنامه ام نصب کنم؟

aminghaderi
سه شنبه 06 مرداد 1388, 06:58 صبح
دوست من کاری که می خوای انجام بدی به نظر من ، شاید شدنی باشه ولی لازمه بری تحقیق کنی ، کتاب و مقاله بخونی ، داخل گوگل سرچ کنی ، سایت برنامه نویس رو زیر و رو کنیییییی باید وقت بزاری زحمت بکشی !!!
و تازه شاید به نتیجه برسی و شاید هم نه!:اشتباه:
مبحث کار شما پیچیده و بحث طولانی می طلبه که از حوصله دوستان و اساتید به دوره!!:افسرده:

با آرزوی موفقیت... .:لبخندساده:

بهنام بهمنی
سه شنبه 06 مرداد 1388, 11:16 صبح
1-بعد از اینکه sql را از طریق نصب برنامه, نصب کردی باید, DB هات رو به اون attach کنی
2- sql server 2005 هم یک EXPRESS دارد که همراه نصب برنامه می توان آنرا نصب کرد
3-CONNECTION STRING را باید با توجه به نام INSTANCE مقصد اصلاح کنید

_abiriamir
سه شنبه 06 مرداد 1388, 13:48 عصر
1-بعد از اینکه sql را از طریق نصب برنامه, نصب کردی باید, DB هات رو به اون attach کنی
نمیشه با نصب شدن برنامه خودش اتوماتیک بشه؟


2- sql server 2005 هم یک EXPRESS دارد که همراه نصب برنامه می توان آنرا نصب کرد
میشه توضیح بدین چطوری میشه این کار رو کرد؟


3-CONNECTION STRING را باید با توجه به نام INSTANCE مقصد اصلاح کنید
منظورتون رو نمیفهمم
در ضمن چطوری؟

_abiriamir
سه شنبه 06 مرداد 1388, 13:50 عصر
راستی
این جوری که نمیشه
من اگه بخوام سی دی که خودم باهاش اس کیو ال سرور رو نصب کردم اونجا هم نصب کنم کلی طول میکشه

_abiriamir
سه شنبه 06 مرداد 1388, 15:46 عصر
ببخشید
الان یه چیز دیگه هم یادم اومد
:گیج::گیج:من تو کامپیوتر خودم برای این که برنامه اجرا بشه دیتابیسمو detach میکنم اونوقت تو کامپیوتر اون attach کنم؟:گیج::گیج:

_abiriamir
چهارشنبه 07 مرداد 1388, 11:05 صبح
آقا از همه ممنون


مشکلات حل شدن


فعلا بای