PDA

View Full Version : مشکل اتصال به دیتا بیس و کدام edition sqlرا استفاده کنیم؟



animgr
شنبه 05 مرداد 1387, 23:07 عصر
من سعی دارم یک دفترچه تلفن بنویسم و در آن از visual studio 2005 و زبانc# استفاده می کنم. حالا مشکل من در اتصال به پایگاه داده می باشد...در مقاله های قبلی تمام کارهای firewall و ... را چک کردم...حالا در این شک دارم که آیا می توان از express edition sql 2005 استفاده کرد یا به دنبال editionهای دیگر بروم؟؟؟:افسرده: واقعا دیگر نمی دونم چیکار کنم...لطفا اگر راه حلی را پیشنهاد می کنید یا اینکه باید option های مربوط به vsرا هم عوض کنم یا نه؟؟:اشتباه:

H_vakilian
یک شنبه 06 مرداد 1387, 00:51 صبح
دوست عزیز میشه مشکلتون رو توضیح بدین.........

animgr
یک شنبه 06 مرداد 1387, 09:04 صبح
ببینید من تمامی کارهای مربوط به firewallها و اینکه آپشن های دیگر را درست کردم...حتی زمانی که test connectionبرای اتصال به پایگاه داده را می زنم موفقیت آمیز را گزارش می ده....ولی وقتی کد زیر را برای تست اتصال به آن امتحان می کنم همیشه connection failedمی شه... چون هر راهی که به ذهنم میرسید رو کردم به نظرم اوومد که شاید ورژن EXPRESS EDITION اصلا برای این کار مفید نیست... لطفا کمکم کنید...! من کدی که می زنم و همیشه بهم connection failedمی ده رو می ذارم اینجا ببینید...شاید اشکال از کدم باشه!!!!


class Program
{
static void Main(string[] args)
{
SqlConnection testConnection =
new SqlConnection(
"Server=(local);Database=Test;Integrated Security=SSPI");
try
{
testConnection.Open();
if (testConnection.State == ConnectionState.Open)
{
Console.WriteLine("Successfully opened a connection");
}
}
catch (Exception)
{
if (testConnection.State != ConnectionState.Open)
{
Console.WriteLine("Failed to open a connection");
}
}
finally
{
// Closing a connection ensures connection pooling.
if (testConnection.State == ConnectionState.Open)
{
testConnection.Close();
}
testConnection.Dispose();
}
}
}

MOSTAFANAVVAB
یک شنبه 06 مرداد 1387, 10:02 صبح
یک راه تقریبا راحت که از طریق ویزارد عمل کنی وقتی برنامه کد های اتصال رو داد برنامه ویزارد رو کنسل کنی و کد رو تو برنامه خودت پیس کنی

MostafaAhmadi
یک شنبه 06 مرداد 1387, 21:25 عصر
Connectionstring شما مشکل داره ,روش دوستمون برای بدست آوردن Connectionstring راه حل خوبی است.

animgr
دوشنبه 07 مرداد 1387, 09:10 صبح
بله...این راه حل خوبی است...ولی من مشکلم حل شد و می خواهم این را بنویسم شاید پاسخ خیلی ها هم باشد...
اول اینکه وقتی که سرور را installمی کنید گزینه mixed authenticationرا بزنید و از آنجا یک کلمه رمز انتخاب کنید و در connection string-تان دیگر لازم نیستIntegrated Security را بزنید ولی در عوض بایست این را در آن اضافه کنید:
User ID=sa;Password<your password>
اگر این کار را بکنید جواب می ده...برای من که connect شد!:بامزه:

jaza_sa
دوشنبه 07 مرداد 1387, 15:02 عصر
+ جستجو کنید +

اگر از Express Edition کنید از این Connection String استفاده کنید :

str = "Data Source = .\\SQLEXPRESS; AttachDbFilename = |DataDirectory|\\{0}.mdf; Integrated Security = True; User nstance = True";
str = string.Format(str, DatabaseName);اگر از نسخه دیگه ای استفاده میکنید از این Connection String استفاده کنید :
در صورتی که UserName , Password دارید از :

str = "Server = {0}; Database = {1}; UId = {2}; Pwd = {3};";
str = string.Format(str, ServerName, DatabaseName, Username, Password); و در صورتی که ندارید از :

str = "Server = {0}; Database = {1}; Trusted_Connection = True;";
str = string.Format(str, ServerName, DatabaseName);موفق باشید