PDA

View Full Version : سوال: مشکل با اتصال و کاربر SQL2005



smhz777
چهارشنبه 18 دی 1387, 09:51 صبح
سلام

من یک سایت با سی شارپ طراحی کردم که باید رو شبکه محلی اجرابشه
مشکل اینجاست که برنامه روی سیستم من وبعضی سیستمها راحت جواب میده ولی وقطی روی سیستم موردنظر پیاده می شه ایراد بنی اسرائیلی میگیره که به شرح زیر است:

1- گاهی اصلا اجازه دسترسی به بانک رونمیده ومیگه کاربر مجاز نیست
2- گاهی جوگیر میشه فقط اجازه خوندن میده ومیگه کاربر مجاز نیست

کارهایی که من کردم به این قراره
1-ویندوزXP جدید پیاده کردم
2-IIS نصب کردم
2-اول SQL2005 رو کامل نصب کردم
3-سپس SQLEXPRESS نصب کردم

راستی دودسته هم کانکشن استرینگ دارم

1-این دوتا کاملا روی سیستمی که برنامه رو روش نوشتم جواب میدنند

Data Source=(Local)\SQLEXPRESS;AttachDbFilename=|DataDi rectory|\IranSpral.mdf;Integrated Security=True;User Instance=True
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\IranSpral.mdf;Integrated Security=True;User Instance=True


2-این دوتا وقتی برنامه با VS اجرامیشه درست ولی حتی روی IIS سیستم خودم هم جواب نمیده

server=localhost\SQLEXPRESS;database=IRANSPRAL.MDF ;integrated security=true
Data Source=localhost\sqlexpress;Initial Catalog=IRANSPRAL.MDF;Integrated Security=True

درکل هر چهارتا کد بالا روی سرور ایراد کاربری می گیرند ومیگن کاربر مجاز به دسترسی به بانک نیست

راهی کهبه نظرم رسیده ساختن یک کاربر در SQL ولی کاربر هایی که میسازم اصلا موقع اجرای SQL هم مجاز شناخته نمی شند چه برسه تو برنامه

لطفا اگر کسی راهی به ذهنش میرسه به من کمک کنه ممنون

smhz777
پنج شنبه 19 دی 1387, 09:16 صبح
با سلام وتشكر از دوستاني كه باين تاپيك سر زدند

1- من اونقدر با برنامه وSQL ور رفتم كه حالا برنامهفقط رو VS جواب ميده وروي IISخطاي زيرو اعلام ميكنه


CREATE DATABASE permission denied in database 'master'.
An attempt to attach an auto-named database for file F:\IranSpiral\App_Data\IranSpral.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

در صورتي كه هم IIS وهم VS برنامه رو از يك آدرس اجرا ميكنند!!!!!؟؟؟؟؟؟
تا يادم نرفته اين روهم بگم مشكل بالا وقتي به وجود اومد كه من اسم كامپيوتر رو عوض كردم

2- با فرض اينكه من در ساختن كاربر در SQL2005 اشتباه مي كنم اطفا يكي از دوستان روش ساخت يك كاربر رو برام بنويسه.

3-در آخر فكر كنم تنها راه براي من تغيير بانك به SQL2000 باشه اطفا در اين باره هم نظر خودتون رو بگيد.

4- راستي اگر هر احتمالي بهنظرتون ميرسه بنويسيد شايد فرجي بشه واين مشكل به خوبي وخوشي حل بشه.

از همه دوستاني كه زحمت ميكشند ومطالب من رو مي خونند ممنونم
با آرزوي موفقيت براي همتون

milade
پنج شنبه 19 دی 1387, 10:39 صبح
سلام دوست عزیز
من قبلا مشکل تو رو داشتم اما نه با این شدت !
من قبلا با پرمشینها مشکل داشتم . به صورتی که در VS اجازه اتصال رو نمیداد
برا همین SQL2005 رو پاک کردم و VS2008 رو و دوباره اول sql رو بعد vs رو نصب کردم
مشکل هم حل شد .

iman_ad
پنج شنبه 19 دی 1387, 10:48 صبح
چرا دیتا بیس تو managment studio اتچ نمی کنی ؟

smhz777
پنج شنبه 19 دی 1387, 13:00 عصر
از هر دوي دوستام ممنونم

1- همين طور كه قبلا نوشتم من حتي ويندوز رو هم عوض كردم ول جواب نداد

2- ديتا بيس رو هم تو managment studio اتچ كردم وكانكشن رو تصحيح كردم ولي تغييري نكرد

milade
پنج شنبه 19 دی 1387, 13:34 عصر
درکل هر چهارتا کد بالا روی سرور ایراد کاربری می گیرند ومیگن کاربر مجاز به دسترسی به بانک نیست
ببخشید
اصلا دقت نکردم
شما میتونی از بانک backup بگیری و توی هاست restore کنی !
هیچ مشکلی هم دیگه نباید باشه!
موفق باشی

smhz777
پنج شنبه 19 دی 1387, 13:42 عصر
جناب ميلاد مي شه لطفا بشتر توضيح بديد من تا حال همچين كاري نكردم
ممنون

smhz777
پنج شنبه 19 دی 1387, 13:58 عصر
لطفا توجه داشته باشيد مشكل من با اتصال به بانك داده ست. نه ناتواني از قراردادن بانك روي sql

milade
پنج شنبه 19 دی 1387, 14:17 عصر
سلام دوست عزیز
اول اینکه شما باید ادرس لوکال اتصال به سرور رو داشته باشید وگرنه هیچ !
به طور پیش فرض این طوره(برا گرفتن ادرس لوکال دقیق با پشتیبانی هاست تماس بگیرید):

(local)\SQLEXPRESS
البته ممکنه این طور نباشه !
برای اینکه شما بتونید از بانک Backup بگیرید با SQl managent به لوکال خودتون وصل بشید (کامپیوتر خودتون)
سپس روی بانک مورد نظر کلیک راست و Backup رو انتخاب کنید . اونجا محل بکاپ رو انتخاب کنید و بک اپ بگیرید
برای اینکه نحوه restore رو بگم باید نوع پنل رو بگید تا اگه دونستم بگم
هر چند که در این موارد پشتیبانی هاست این وظیفه(راهنمایی) رو بر عهده داره
موفق باشید

smhz777
شنبه 21 دی 1387, 10:42 صبح
دوست عزيز سروري كه برنامه من بايد روي اون كار كنه يك سيستم معمولي در يك اداره ست و ويندوزXP ,SQL2005 رو خودم روش پياده كردم
فكر كنم شما بادقط مطالب بالا رو مطالعه نكرديد.

milade
شنبه 21 دی 1387, 14:29 عصر
پس اگه شما به سرور دسترسی دارید کار حله !
به سرور با sql managent وصل شو و برو به قسمت database و روی اون راست کلیک و attach رو انتخاب کن
در صفحه ای که باز میشه add رو بزن و تمام !
حالا دیگه نباید مشکلی باشه و یوزر تعریف شده
ادرس بانک رو در web.config به ادرس جدید که اتچ شد تغییر بده و تمام
موفق باشی

smhz777
یک شنبه 22 دی 1387, 11:33 صبح
دوست عزیز اگر مطالب رو درست از اول بخونید متوجه می شید که مشکل دقیقا اینه که من همه این کارهارو کردم ولی مشکل هنوز سرجاشه.