View Full Version : شرح پارامترهای connectionString
choobin84
سه شنبه 29 اسفند 1385, 13:15 عصر
با سلام
فرق بین پارامترهای connectionString در چیست؟ یا به عبارت بهتر در کجا از کدوم استفاده می کنیم؟
Initial Catalog با Database
Data Source با Server
UID با User ID
Pwd با Password
پارامترهای زیر چیستند ؟ و چگونه استفاده می شوند؟
Trusted_Connection=yes یا Trusted_Connection=no
Integrated Security=sspi
سئوال دوم:
فرق بین یوزری که در کنترل پنل برای login می سازیم با یوزری که در بانک اس کیو ال می سازیم در چیست؟
در واقع در شبکه هنگامی که بخواهیم به سرور login کنیم، و روی آن هم یوزر ساخته باشند و هم روی بانک یوزر تعریف کرده باشند connectionString چه وضعی پیدا می کند؟
متشکرم
AminSobati
سه شنبه 29 اسفند 1385, 15:44 عصر
فرق این پارامترها در Data Provider مورد استفاده شما (برای کانکت شده به بانک)، و همچنین Version اونهاست. مثلا در ADO.NET میتونین از Database به جای Initial Catalog استفاده کنین. پس بستگی داره از چی و چه ورژنی استفاده کنین.
در SQL Server شما یک Login Name دارین و یک User Name. ابتدا بوسیله Login Name شما وارد SQL Server میشید (مرحله Autentication) و برای رسیدن به یک دیتابیس، باید در اون User Name داشته باشید. هر User Name به یک Login Name لینک میشه.
شما Login Name رو در Connection String بکار میبرید
choobin84
سه شنبه 29 اسفند 1385, 19:42 عصر
در SQL Server شما یک Login Name دارین و یک User Name. ابتدا بوسیله Login Name شما وارد SQL Server میشید (مرحله Autentication) و برای رسیدن به یک دیتابیس، باید در اون User Name داشته باشید.
شرمنده که متوجه نشدم.
login name در واقع همان یوزر و پسوردی است که در ابتدای لود شدن ویندوز مورد استفاده قرار می دهیم؟
هر User Name به یک Login Name لینک میشه.
شما Login Name رو در Connection String بکار میبرید
اگر login name در connectionstring مورد استفاده قرار می گیره پس با username چیکار داریم؟
اگر برنامه ای نوشته باشیم، به username احتیاجی نیست؟
AminSobati
سه شنبه 29 اسفند 1385, 22:50 عصر
بستگی داره شما چجوری بخواین Authenticate بشین. SQL Server دو نوع Authentication پشتیبانی میکنه:
1) Windows Authentication
2) SQL Authentication
در حالت اول شما موقع ورود به SQL Server، از هویت خودتون که در حال حاضر به ویندوز لاگین کردین استفاده میکنین. برای همین باید در SQL Server یک Login Name داشته باشید که اون Windows Account رو معرفی کنه. اینجاست که در Connection String مثلا از Integrated Security=sspi استفاده میکنید و نیازی به UID و امثالهم نیست.
در حالت دوم، SQL Server توجهی به هویت ویندوزیه شما نداره و موقع ورود میبایست Login Name و Password ارائه کنین. اینجاست که UID رو در Connection String میدین که همون Login Name خواهد بود.
بعد از ورود به SQL Server (یعنی پشت سر گذاشتن Authentication) شما نیاز به User Name دارین تا بتونین وارد یک دیتابیس بشین. اگر میبینید بدون داشتن User Name میتونین از Master یا بعضی دیتابیسهای دیگه استفاده کنین سه دلیل داره: یا اون دیتابیس Guest داره، یا Login Name شما عضو Sysadmin هستش، یا مالک اون دیتابیس هستین.
choobin84
چهارشنبه 01 فروردین 1386, 03:54 صبح
متشکرم
اما با تمام این تفاسیر login name را باید چگونه روی بانک بسازم؟
فرض کنید برنامه ای تحت شبکه نوشته ام، آیا لازم است که یوزرهای آنرا خودم روی بانک تعریف کنم؟
یا نه برای هر یوزری باید connectionstring جداگانه ای تعریف کنم؟
AminSobati
چهارشنبه 01 فروردین 1386, 13:07 عصر
همه کاربرها میتونن با یک Login Name مشترک متصل بشن یا هر کدوم جداگانه Login Name داشته باشند. در ضمن همونطور که عرض کردم Login Name روی SQL Server ساخته میشه نه روی دیتابیس
choobin84
چهارشنبه 01 فروردین 1386, 23:08 عصر
عذر خواهی مرا به خاطر اصرار و پافشاری در این تایپیک پذیرا باشید.
اما با این حساب connectionstring زیر می تواند بدون آنکه مشکلی ایجاد کند و از کاربر یوزر و پسورد بگیرد ، به سایر کامپیوترها سرویس بدهد؟حتی اگر روی بانک و اس کیو ال یوزر تعریف کرده باشد
اگر صحیح است اعلام کنید؟
connectionString = "workstation id=" + computername + ";packet size=4096;integrated security=SSPI;data source=" + servername + ";persist security info=true;initial catalog=" + databasename + ";"
متشکرم.
AminSobati
پنج شنبه 02 فروردین 1386, 10:42 صبح
به نظر مشکلی نداره، بهترین جواب اینه که آزمایش کنید. ولی یادتون باشه که دارین از Windows Authentication استفاده میکنین، و در Workgroup این کار رعایت نکاتی رو میطلبه، اما اگر Local یا در Domain کار میکنید مشکلی نیست
choobin84
شنبه 04 فروردین 1386, 11:43 صبح
از صبر و حوصله شما بسیار ممنونم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.