PDA

View Full Version : مشکل در ارتباط با SQL SERVER 2005



morteza_1234m
سه شنبه 27 اسفند 1387, 18:56 عصر
دوستان قبلا این سئوال را کرده بودم ولی نمی دونم چرا حذف شده


An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
using System.Data.SqlClient;


using System.Data;

SqlConnection objConnection = new SqlConnection("server=localhost;database=test;user id=alaki;password=1597532;");

SqlDataAdapter objDataAdapter = new SqlDataAdapter();

DataSet objDataSet = new DataSet();

objDataAdapter.SelectCommand = new SqlCommand();

objDataAdapter.SelectCommand.Connection = objConnection;

objDataAdapter.SelectCommand.CommandText = "SELECT * FROM Table1";

objDataAdapter.SelectCommand.CommandType = CommandType.Text;

objConnection.Open();

objDataAdapter.Fill(objDataSet, "Table_1");

objConnection.Close();

grdAuthorTitles.AutoGenerateColumns = true;

grdAuthorTitles.DataSource = objDataSet;

grdAuthorTitles.DataMember = "Table_1";

objDataAdapter = null;
objConnection = null;

hasan_esfahan
سه شنبه 27 اسفند 1387, 19:13 عصر
دوست عزیز پیغام Could not open a connection to SQL Server را که می دهد مشکل از همان خط اول است که دستور sql conecction را اشتباه نوشتی که همین طور هم هست

morteza_1234m
چهارشنبه 28 اسفند 1387, 03:53 صبح
یعنی مشکلش چیه آخه پیش استادمون هم بردم ولی گفت کد نویسی شما صحیح است

pakshooma
چهارشنبه 28 اسفند 1387, 08:20 صبح
به نظر من خط اولش رو اینجوری بنویسی بهتره
SqlConnection objconnection = new SqlConnection("server=localhost;database=test;Integrated Security=True");

morteza_1234m
چهارشنبه 28 اسفند 1387, 09:10 صبح
موضوع اینه که من با آن user ,id کار دارم چون میخام که با وارد شدن هر کاربر به وسیله این یوزرها محدودیت هایی را برای هر کاربر ایجاد کنم اگه با این روش میش ود به من هم آموزش دید
منتظر جواب شما هستم دوست عزیز خیلی فوریه

morteza_1234m
چهارشنبه 28 اسفند 1387, 18:28 عصر
دوستان من داخل پایگاه داده ام در SQL SERVER 2005 یک یوزر می خوام تعریف کنم بعد به وسیله خط اول که تو کد هست تعیین سطح دسترسی به داده ها داشته باشم که هر کاربر مربوط به بخش مخصوص به اطلاعات مخصوص خودش دسترسی داشته باشه
حالا با این وضع فکر کنم روشن تر شد که می خوام چه کار کنم
اگر راهنمایی کنید یک دنیا ممنون میشم

morteza_1234m
جمعه 30 اسفند 1387, 07:24 صبح
دوستان خودش خود بخود اون مشکل حل شد ولی حالا یک پیغام خطای دیگه از خط objconn.open(); می گیره
Login failed for user 'sa1'.

hasan_esfahan
جمعه 30 اسفند 1387, 11:27 صبح
باز هم اشکال از همان خط اول هست یعنی زمانی که میخواهد به بانک دسترسی داشته باشه و بانک را بخونه به با یوزر sa1 چون این یوزر وجود نداره با مشکل روبرو میشه یا این که این یوزر اجازه خواندن اطلاعات را نداره

morteza_1234m
جمعه 30 اسفند 1387, 16:31 عصر
این یوزر را من در قسمت USER ACCOUNT در کنترل پنل همچنین یوزری ساختم و آن را در قسمت LOGIN مربوط به SECURITY اضافه کردم و سپس در بخش SECURTY در قسمت USER اضافه کردم
چطور همچنین یوزری وجود نداره
آیا روش دیگری داره ؟
اصلا چطور میشه که پسورد SA را عوض کرد در قسمت LOGIN عوض کرد؟

AminSobati
یک شنبه 02 فروردین 1388, 18:38 عصر
شما از کدوم حالت Authentication میخواین استفاده کنین؟

morteza_1234m
یک شنبه 02 فروردین 1388, 21:40 عصر
خود ویندوز نه SQL

sina_daneshjo
دوشنبه 31 فروردین 1388, 21:57 عصر
موضوع اینه که من با آن user ,id کار دارم چون میخام که با وارد شدن هر کاربر به وسیله این یوزرها محدودیت هایی را برای هر کاربر ایجاد کنم اگه با این روش میش ود به من هم آموزش دید
منتظر جواب شما هستم دوست عزیز خیلی فوریه

سلام این اولین پست تمام دوران وبگردی ام است که افتخار اون نصیب سایت برنامه نویس شده است که البته حقش هم هست چون کلی از مشکلاتم راتا بحال بکمک اون حل کردم اما روش حل این مشکل

اگر می خواهید که در هنگام اتصال به sql server 2005 از sql server autentication استفاده کنید ولی دچار خطا می شوید ولی در هنگام اتصال از طریق windows autentication مشکلی ندارید حتماً سری به این مقاله بزنید

http://kbase.gfi.com/showarticle.asp?id=KBID002804

در این مقاله راه حل نوشته شده است این جواب امتحان شده است و تضمین شده است
البته باید بعد از این کار باید این کاربر که قصد اتصال به آنرا دارید در قسمت security وارد کنید که روش آن هم مثل sql server 2000 می باشد که شرحش در زیر آمده:
بعد از اتصال به صورت windows autentication به بانکتون بر روی security گزینه new login ار انتخاب کنید در پنجره باز شده در قسمت login name نام کاربری مورد نظر خود رابزنید دقت شود که نیازی به دکمه search نداریم (هر اسمی می تواند باشد و نیازی نیست که حتما یک ی از کاربران ویندوز باشد) بعد در قسمت پایین تر گزینه sql server autentication را بزنید و در کادر کلمه عبور را دو با وارد کنید تیک ها را هم بسته به نیازتان تنظیم کنید در قسمت server role هم بسته به نیاز خودتان تیک بزنید
بعد در محل مورد نظر connection string را به شکل زیر وارد کنید

"Persist Security Info=False;
Data Source=.\sqlexpress;
Initial Catalog=نام بانک;
User ID=نام کاربر;
Password=کلمه عبور"