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

نام تاپیک: مشکل در وصل شدن به دیتابیس بعد از Setup برنامه

  1. #1

    مشکل در وصل شدن به دیتابیس بعد از Setup برنامه

    سلام حرفه ای ها
    آقا توی پست قبلی من مشکلم حل شد ... خیلی حال دادین ....
    حالا یک مشکلی که دارم اینکه : بعد از Setup برنامه اگه دیتا بیس توی همون جایی که برنامه نصب شده باشه نمی تونه به برنامه وصل بشه ... حتما باید دیتا بیسو همون جایی که برنامه رو نوشتم ببرم تا بتونه تشخیص بده ... حالا اگه شما میدونید که تکنیکی هست که همون جایی که دیتابیس و برنامه نصب میشه بتونه برنامه با دیتا بیس ارتباط برقرار کنه بگید...آیا توی Connection String باید کاری کنم؟ که دیگه احتیاجی به بردن دیتابیس به مکان خاصی نباشه ؟

  2. #2
    Application.StartupPath + @"\data.mdb"

  3. #3
    nدوست عزیز اینو کجا باید بزارم یکم بیشتر توضیح بده

  4. #4
    مسیر جاری برنامه هستش. یعنی جایی که برنامه شما اجرا میشه.
    بانک اطلاعاتیتون که access هستش رو کنار فایل exe بزار و مسیر بانک رو داخل ConnectionString هستش رو به کد بالا تغییر بده
    .

    strCon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
    Application.StartupPath + @"\data.mdb";

  5. #5
    مسیر من اینه چی رو باید تغییر بدم
    Data Source=.\SQLEXPRESS;AttachDbFilename=C:\WindowsApp  lication8\WindowsApplication8\Database1.mdf;Integr  ated Security=True;User Instance=True

  6. #6
    نقل قول نوشته شده توسط mohammad87 مشاهده تاپیک
    مسیر من اینه چی رو باید تغییر بدم
    Data Source=.\SQLEXPRESS;AttachDbFilename=C:\WindowsApp  lication8\WindowsApplication8\Database1.mdf;Integr  ated Security=True;User Instance=True
    دو ست عزیز شما بانک اطلاعاتیتون SqlServer هست
    برای Attach کردنش از کد زیر استفاده کن
    اول بانکتو (هر دو فایل) بزار تو پوشه db کنار فایل exe

    string dbname = "Database1.mdf";
    string commandtext = @"EXECUTE sp_attach_db @dbname = 'Database1'," +
    @"@filename1 = '" + Application.StartupPath + "\\db\\Database1.mdf'," +
    @"@filename2 = '" + Application.StartupPath + "\\db\\Database1.ldf',";
    //connectionstr="Data Source=.\sqlexpress;Initial Catalog=master;Integrated Security=True";
    SqlConnection con = new SqlConnection(connectionstr);
    SqlCommand com = new SqlCommand(commandtext, con);
    con.Open();
    com.ExecuteNonQuery();
    con.Close();

  7. #7
    بعد از attach کردن رشته اتصالتون میشه
    connectionstr="Data Source=.\sqlexpress;Initial Catalog=Database1;
    Integrated Security=True";

  8. #8
    آقا ما که نفهمیدیم چه ار باید بکنیم ... فکر می کنم راه حل ساده تری هم وجود داشته باشه ؟ کسی نمی دونه؟

  9. #9
    نقل قول نوشته شده توسط mohammad87 مشاهده تاپیک
    آقا ما که نفهمیدیم چه ار باید بکنیم ... فکر می کنم راه حل ساده تری هم وجود داشته باشه ؟ کسی نمی دونه؟
    چون از بانک sql استفاده می کنید باید engin اونو نصب کرده باشید. نصب به صورت دستی یا با installshield.
    بانکتون هم همونطوری که گفته اند باید attach بشه.
    connectionstring رو هم به شکل زیر تغییر بدید

    connectionstring="server=(local);trusted_connectio n=yes;database=yourdatabasename;"
    آخرین ویرایش به وسیله choobin84 : جمعه 23 فروردین 1387 در 20:52 عصر دلیل: connectionString

  10. #10
    من اومدم به connection String این کد رو اضافه کردم :
    Data Source=.\SQLEXPRESS;AttachDbFilename=Application.S  tartupPath\\Database1.mdf;Integrated Security=True;User Instance=True

    ولی بازم ERROR می ده

  11. #11
    به این سوالها جواب بده
    1-آیا در سیستم مقصد SqlServer نصبه؟
    2-آیا بانک شما به سرور اسکیوال Attach شده؟

    در صورت مثبت بودن هر دو جواب از ConnectonString زیر استفاده کن.

    connectionstr="Data Source=.\sqlexpress;Initial Catalog=نام دیتابیس مورد نظرتون;Integrated Security=True";

  12. #12
    من دیتا بیس خودمو توی سی شارپ ساختم ... وقتی ConnectionString من مثل زیر هست مشکلی نداره
    Data Source=.\SQLEXPRESS;AttachDbFilename=C:\WindowsApp  lication8\WindowsApplication8\Database1.mdf;Integr  ated Security=True;User Instance=True

    حالا وقتی میام توی AttachDbFilename تغییر می دم مشکل پیش میاد ... sql server نصبه ,مشکل توی همون attach شدنه ... آخه من می خوام همو جایی که نصب میشه دیتا بیس رو از همون جا بخونه ... نمی دونید توی propreties کانکتیون اگه تغییراتی بدم بشه؟

  13. #13
    برو توی فایل app.config و connectionString و به صورت زیر تغییر بده

    Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\database1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

    همچنین درون برنامه هر جا داری اینجور بنویس


    Connectionstring = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"


    و دیتا بیس رو درس جایی که exe برنامه ات اونجاست قرار بده و اجرا کن درست میشه

  14. #14
    ConnectionStringی که شما گذاشتید مربوط به Sqlexpress هست در صورتی که دیتابیس ما در خود SQL2005 باشد چه کنیم؟
    (به دلایلی نمیتونم از ‌SQLExpress استفاده کنم)
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  15. #15
    ای ول vpourshab بابا خیلی باحالی درست شد ....
    بچه ها ممنون .

  16. #16
    نقل قول نوشته شده توسط razavi_university مشاهده تاپیک
    ConnectionStringی که شما گذاشتید مربوط به Sqlexpress هست در صورتی که دیتابیس ما در خود SQL2005 باشد چه کنیم؟
    (به دلایلی نمیتونم از ‌SQLExpress استفاده کنم)

    با سلام
    در حین نصب Sql2005 به جای local یه اینستنس با نام SqlExpress ایجاد میکنیم.

  17. #17
    نقل قول نوشته شده توسط gdevnb مشاهده تاپیک
    در حین نصب Sql2005 به جای local یه اینستنس با نام SqlExpress ایجاد میکنیم.
    متوجه نشدم میشه بیشتر توضیح بدی؟
    منظورت از حین نصب زمان نصب برنامه خودمونه؟
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  18. #18
    در صورتی که Sql Server روی سیستم نصب باشه میتونه بصورت local نصب بشه یا همون Default Instanse یا اینکه شما بصورت یه Instanse با نام دلخواه نصبش کنید که بعد میتونید به صورت زیر بهش دسترسی داشته باشید
    (local)\InstanseName
    در واقع حتی زمان نصب برنامه خومون اگه مایل باشیم حتی اگه Sql Server هم نصب باشه می تونیم اونو به صورت یه Instanse دیگه نصب کنیم(با نام دلخواه)(البته تعدادشون محدوده دقیقاً نمی دونم رو هر سیستم حداکثر چند تا Instanse میتونه نصب باشه) که دیتاهای کاملاً مستقل از حالت Default عمل میکنه. در واقع شما یه سرویس مجزای دیگه از Sqlserver دارید.

  19. #19
    خوب من الان دیتابیسم نصبه
    کل اطلاعات و Sp و ... روش هست
    الان که می خوام برنامه نصب واسش بسازم چه کنم؟
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  20. #20
    نقل قول نوشته شده توسط gdevnb مشاهده تاپیک
    دو ست عزیز شما بانک اطلاعاتیتون SqlServer هست
    برای Attach کردنش از کد زیر استفاده کن
    اول بانکتو (هر دو فایل) بزار تو پوشه db کنار فایل exe


    string dbname = "Database1.mdf";
    string commandtext = @"EXECUTE sp_attach_db @dbname = 'Database1'," +
    @"@filename1 = '" + Application.StartupPath + "\\db\\Database1.mdf'," +
    @"@filename2 = '" + Application.StartupPath + "\\db\\Database1.ldf',";
    //connectionstr="Data Source=.\sqlexpress;Initial Catalog=master;Integrated Security=True";
    SqlConnection con = new SqlConnection(connectionstr);
    SqlCommand com = new SqlCommand(commandtext, con);
    con.Open();
    com.ExecuteNonQuery();
    con.Close();

    من برنامه ام از یه دیتا بیس استفاده میکنه که باید به SQL server اتچ کنمش . این کار رو میخوام در یک فایل exe قرار بدم که کاربر با احرای اون این عمل رو انجام بده و کار نصب برنامه راحت باشه ! با استفاده از کدی که شما گذاشتید این کار امکان پذیر نیست لطفا بگید چکار کنم؟

  21. #21
    نقل قول نوشته شده توسط programmable مشاهده تاپیک
    من برنامه ام از یه دیتا بیس استفاده میکنه که باید به SQL server اتچ کنمش . این کار رو میخوام در یک فایل exe قرار بدم که کاربر با احرای اون این عمل رو انجام بده و کار نصب برنامه راحت باشه ! با استفاده از کدی که شما گذاشتید این کار امکان پذیر نیست لطفا بگید چکار کنم؟
    منظور شما اینکه چطوری دیتابیس رو همراه با ستاپ کردن برنامه اجرا بشه و نصب بشه یا اینکه هرجا برنامه اجرایی تون هست دیتابیس و تشخیص بده و وصل بشه ؟
    برای اولی می تونی از نرم افزار Installware استفاده کنی ولی برای دومی از کد زیر توی Connection string خودت استفاده کنی :
    Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector  y|\database1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

  22. #22
    نقل قول نوشته شده توسط razavi_university مشاهده تاپیک
    خوب من الان دیتابیسم نصبه
    کل اطلاعات و Sp و ... روش هست
    الان که می خوام برنامه نصب واسش بسازم چه کنم؟
    به نظر من بهترین روش اینه که فایلها در سیستم مقصد Attach بشه اونم از طریق کدی که خودمون نوشتیم.در جریان نصب برنامه , در پایان نصب این برنامه رو اجرا کنه(از طریق برنامه ستاپ) تا دیتابیس رو attach کنه.

    نقل قول نوشته شده توسط programmable
    من برنامه ام از یه دیتا بیس استفاده میکنه که باید به SQL server اتچ کنمش . این کار رو میخوام در یک فایل exe قرار بدم که کاربر با احرای اون این عمل رو انجام بده و کار نصب برنامه راحت باشه ! با استفاده از کدی که شما گذاشتید این کار امکان پذیر نیست لطفا بگید چکار کنم؟
    کد رو ضمیمه کردم. اونو بررسی کنید مشکلتون حل میشه.
    در ضمن یه برنامه اجرایی رو هم بزودی می ذارم که این کار رو برای شما انجام می ده.
    روش استفاده:
    فایلهای بانک اطلاعاتی رو درکنار فایل exe در پوشه db قرار بدید.
    فایل DbCreator.exe.config رو باز کرده و بصورت زیر تنظیم کنید.

    <setting name="dbname" serializeAs="String">
    <value>Hesabdar</value>
    </setting>
    <setting name="file1" serializeAs="String">
    <value>Hesabdar.mdf</value>
    </setting>
    <setting name="file2" serializeAs="String">
    <value>Hesabdar_log.ldf</value>
    </setting>
    <setting name="connectionstr" serializeAs="String">
    <value>Data Source=.\sqlexpress;Initial Catalog=master;Integrated Security=True</value>
    </setting>
    در مثال بالا فرض شده نام بانک شما Hesabdar نام فایل mdf شما Hesabdar.mdf و نام فایل ldf شما Hesabdar_log.ldf می باشد.
    در صورتی که ازتعداد فایلهای بیشتری(ndf) استفاده میکنید سورس رو دستکاری کنید
    عکس های ضمیمه عکس های ضمیمه
    فایل های ضمیمه فایل های ضمیمه

  23. #23
    ممنون از پاسختون
    ولی اینکه ما کانکشن استرینگ رو به این صورت در پوشه برنامه در دسترس داشته باشیم آیا از نظر امنیتی مشکلی نداره؟

  24. #24
    این فقط یه مثال ساده برای این کار هستش.در ضمن زمانی که شما قصد ایجاد بانک اطلاعاتی از طریق پروژه ستاپ رو داشته باشید لزومی به کپی کردن این فایل و برنامه مربوطه در مکان نصب نیست. واصلاً ایجاد بانک جزئی از ستاپ میشه که فقط لازمه دیتابیس ما کپی بشه و برنامه ای که از این دیتابیس استفاده میکنه. نه برنامه ای که بانک اطلاعاتی رو attach میکنه.

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

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