نمایش نتایج 1 تا 9 از 9

نام تاپیک: قسمت اول Connection String

  1. #1

    قسمت اول Connection String

    سلام

    "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\GridView_DB.mdf;Integrated Security=True;User Instance=True"/

    قسمت Bold شده حاوی چه نکته ای هست؟ منظور چیست؟

  2. #2
    VIP آواتار Sajjad.Aghapour
    تاریخ عضویت
    مهر 1386
    محل زندگی
    اهل کاشانم .. روزگارم بد نیست
    پست
    1,265

    نقل قول: قسمت اول Connection String

    معمولا برای Attach کردن دیتابیس در SQLExpress از این قسمت استفاده میشه....

    در واقع شما توسط این قسمت فایل mdf موجود در مسیر حاری برنامه رو به SQL‌ Engine اتچ میکنی تا بتونی در طول برنامه توسط این Engine عملیات مورد نظر رو روی دیتابیست انجام بدی...
    Close your eyes, take a deep breath, click your heels three times, and say, "There's no better thing than Inversion of Control and Dependency Injection, generic specialization, the decorator pattern, chains of responsibilities, and extensible software."

  3. #3
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: قسمت اول Connection String

    نقل قول نوشته شده توسط sajjadlove مشاهده تاپیک
    معمولا برای Attach کردن دیتابیس در SQLExpress از این قسمت استفاده میشه....

    در واقع شما توسط این قسمت فایل mdf موجود در مسیر حاری برنامه رو به SQL‌ Engine اتچ میکنی تا بتونی در طول برنامه توسط این Engine عملیات مورد نظر رو روی دیتابیست انجام بدی...
    سلام
    ولی Attach به معنی نسخه های SQLServer نیست و به همین علت است که این ConnectionString برای Restore استفاده نمی شود تنها دسترسی به بانک را مقدور می کند اگر از یک SQLServer دیگر به Express وصل شوید خواهید دید که Attach نیست

  4. #4

    نقل قول: قسمت اول Connection String

    سلام

    تا به حال دنبال ساخت Setup نبودم و یک سالی هم از دنیای win دور بودم. حالا می خوام یاد بگیرم.

    می خوام وقتی که Setup رو ساختم DataBase بدون مشکل و بدون دستکاری نصب بشه و برنامه کار بکنه.
    مشکل بر سر ساخت یک Connection مطمئن هست. امروز یک کدی رو در این تالار دیدم که هنوز سیستمی نبوده که تستش کنم.
    کد مورد نظر این هستش که می گه اول یه Connection از جنس SqlConnection بساز و:

    connection = "Server=.;Integrated Security=True;AttachDBFileName =" Application.StartupPath + "\\MyDB.mdf";DataBase=MyDB"

    طبق اون پست این کد میاد DataBase رو به نرم افزار SqlServer وصل (Attach) می کنه. همچنین گفته که یک بار بیا connection رو باز و بسته کن:

    connection.Open();
    connection.Close();

    حالا من نمی دونم اگر این کد رو بنویسم DB ما Attach میشه یا نه.

    مرحله 2) حالا می گه بیا ConnectionString اصلی رو بساز و کار کن:

    Conn.ConnectionString = "DataSource=.;Initial Catalog=MyDB;Integrated Security=True;


    حالا می خوام بدونم روش این هست؟

    آیا باید گزینه دیگه ای رو اصلاح کنم؟

    همین جواب می ده؟
    کم کسر نداره یا داره؟

    ممنون

  5. #5
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: قسمت اول Connection String

    سلام
    اگر از ConnectionString بدون پارامتر AttachDbFilename= استفاده می شود باید با کد SP_Attach بانک برای SQLServer تعریف شود

  6. #6
    VIP آواتار Sajjad.Aghapour
    تاریخ عضویت
    مهر 1386
    محل زندگی
    اهل کاشانم .. روزگارم بد نیست
    پست
    1,265

    نقل قول: قسمت اول Connection String

    ولی Attach به معنی نسخه های SQLServer نیست
    بله %100....
    منظور توضیح کدی بود که در بالا ارائه شده بود و از نسخه Express استفاده کرده بود....

    مشکل بر سر ساخت یک Connection مطمئن هست. امروز یک کدی رو در این تالار دیدم که هنوز سیستمی نبوده که تستش کنم.
    کد مورد نظر این هستش که می گه اول یه Connection از جنس SqlConnection بساز و:
    کد:
    connection = "Server=.;Integrated Security=True;AttachDBFileName =" Application.StartupPath + "\\MyDB.mdf";DataBase=MyDB"
    من به شخصه این کارو نمیکنم.اگر از نسخه های Standard استفاده میکنی میتونی قبل از ایجاد Connection و ست کردن ConnectionString دی بی خودت رو به سرور Attach کنید.برای این کار دو راه (یا شایدم بیشتر، آدمیه دیگه نمیشه کاریش کرد) دارید:

    1. از یک Stored Procedure که در SQL Server وجود داره یعنی sp_attach_db استفاده کنی(syntax اون رو میتونی از تو helpش بخونی)
    2. از Smo استفاده کنی که در SDK هایی که خود SQL Server ارائه میده وجود داره....

    حالا میتونی از ConnectionString بدن پارامترهای اضافی استفاده کنی...

    Data Source=.; initial catalog = dbName; Integrated Security = true
    Close your eyes, take a deep breath, click your heels three times, and say, "There's no better thing than Inversion of Control and Dependency Injection, generic specialization, the decorator pattern, chains of responsibilities, and extensible software."

  7. #7

    نقل قول: قسمت اول Connection String

    دو ستان عزیز من هم مشکلی در این مورد دارم که سوالم رو در تاپیک زیر مطرح کردم لطف کنید بررسی کنید:
    https://barnamenevis.org/showthread.php?t=260870

  8. #8

    نقل قول: قسمت اول Connection String

    سلام
    دوستان چیزهایی را که دارید بحث میکنید برای کدام ورژن اس کیو ال هست و آیا حتما خود اس کیو ال باید بر روی سیستم مقصد حتما نصب باشه

    می خوام وقتی که Setup رو ساختم DataBase بدون مشکل و بدون دستکاری نصب بشه و برنامه کار بکنه.
    چطوری میشه که با بدون نصب اس کیو ال از برنامه استفاده کرد

  9. #9
    کاربر دائمی آواتار hakelberfin
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    تبریز
    پست
    137

    نقل قول: قسمت اول Connection String

    سلام
    چطوری میشه که با بدون نصب اس کیو ال از برنامه استفاده کرد
    اگر از SQLEXPRESS استفاده میکنید موقع درست کردن Setup میتونید گزینه ی مربوط به اونو تیک بزنید
    SQL Native و موقع نصب برنامه در سیستم کاربر SQLEXPRESS هم نصب میشه.
    اگه از EXPRESS استفاده نکنید باید SQL SERVER رو بصورت دستی در سیستم کاربر نصب کنید چون اینکار از طریق Setup امکان پذیر نیست.
    قرار دادن دیتابیس در مسیر اجرایی برنامه هم فکر خوبیست و باعث میشه بعد از نصب و بدون دستکاری برنامه به درستی کار کنه

     طبق اون پست این کد میاد DataBase رو به نرم افزار SqlServer وصل (Attach) می کنه. همچنین گفته که یک بار بیا connection رو باز و بسته کن:
    کد:
    connection.Open();
    connection.Close();
    حالا من نمی دونم اگر این کد رو بنویسم DB ما Attach میشه یا نه.

    مرحله 2) حالا می گه بیا ConnectionString اصلی رو بساز و کار کن:
    کد:
    Conn.ConnectionString = "DataSource=.;Initial Catalog=MyDB;Integrated Security=True;
    حالا می خوام بدونم روش این هست؟


    دوست عزیز هر دو ConnectioString میتونن یکی باشن . درستشم همینه .
    اون دوستمون که کد رو نوشته واقعا طرز فکرش خوب بوده.
    شما میتونید در کلاسی تابعی بنویسید که نوع برگشتیش Boolean باشه مثل زیر:

     public static ConnectionString ;
    public static bool BuildingConnectionString()
    {
    try
    {

    string conString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath.ToString() + @"\MyData.MDF;Integrated Security=True;User Instance=True";
    SqlConnection SqlConnection = new SqlConnection(conString);
    SqlConnection.Open();
    SqlConnection.Close();

    ConnectionString = conString;

    return true;

    }
    catch (System.Exception exp)
    {
    MessageBox.Show("DataBase Error ", "برنامه نمی تواند به پایگاه داده متصل شود", MessageBoxButtons.OK, MessageBoxIcon.Error);
    return false;
    }
    }


    و در کلاس Program از اون استفاده کنید

       [STAThread]
    static void Main()
    {
    if (ClassNameThatInclude_BuildingConnectionString.Bui ldingConnectionString() == false)
    return;
    else
    {
    Application.Run(new FormMain());

    }
    }


    اگه برنامه بدون خطا ایجاد بشه
    حالا شما در هر صفحه ای که میخواین با بانک ارتباط برقرار کنید میتونید از متغییر استاتیک ConnectionString
    استفاده کنید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •