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

نام تاپیک: اتچ کردن ديتابيس در دو برنامه برنامه

  1. #1

    Question اتچ کردن ديتابيس در دو برنامه برنامه

    سلام

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


            static SqlConnection con = new SqlConnection(@"Data Source=.\SqlExpress;AttachDbFilename=|DataDirector  y|\X.mdf;integrated security=true;User Instance=True;integrated security=SSPI");
    آخرین ویرایش به وسیله Collector : یک شنبه 20 شهریور 1390 در 12:03 عصر

  2. #2

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    مگه وقتی برنامه اجرا میشه یک Database رو Attach میکنه ؟
    اگر میخوای چک کنی که دیتابیس Attach هست یا نه باید از جدول SysObjects استفاده کنی و این به کانکشن ارتباطی نداره

  3. #3

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط AmirSlash مشاهده تاپیک
    مگه وقتی برنامه اجرا میشه یک Database رو Attach میکنه ؟
    اگر میخوای چک کنی که دیتابیس Attach هست یا نه باید از جدول SysObjects استفاده کنی و این به کانکشن ارتباطی نداره
    من میخوام با دو برنامه به یک دیتابیس وصل بشم.
    حالا باید کانکشن رو طوری تغییر بدم که ارور زیر را برنامه دوم ندهد و هر دو برنامه به دیتابیس متصل شوند.

    Cannot open user default database. Login failed. Login failed for user

  4. #4

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    این Error برای این نیست که دوتا برنامه به یک Database وصل شدن این برای اینکه Connection String اشتاه و یا اینکه User تعریف شده در Connection String بر روی SQL دسترسی نداره

  5. #5

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط AmirSlash مشاهده تاپیک
    این Error برای این نیست که دوتا برنامه به یک Database وصل شدن این برای اینکه Connection String اشتاه و یا اینکه User تعریف شده در Connection String بر روی SQL دسترسی نداره
    ولی اگر فقط یک برنامه اجرا شود مشکلی پیش نمیاید.
    ولی هر دو برنامه با این کانکشن استرینگ مشکل پیش میاید . با این وضعیت کجای کانکشن استرینک را باید تغییر بدم.

    static SqlConnection con = new SqlConnection(@"Data Source=.\SqlExpress;AttachDbFilename=|DataDirector  y|\X.mdf;integrated security=true;User Instance=True;integrated security=SSPI");

  6. #6
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    کاشان
    پست
    580

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    البته من نمیدونم مشکل از کجاست اما حدس میزنم چون با این یوزر یکبار وصل شدید ، دوباره وصل شدنش داره باعث خطا میده . شما میتونید با یک یوزر دیگه وصل بشید یا نه ؟
    همچنین آیا هر دو برنامه روی لوکال هستند یا بانک شما در شبکه قرار داره ؟

  7. #7

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط seven7777777 مشاهده تاپیک
    البته من نمیدونم مشکل از کجاست اما حدس میزنم چون با این یوزر یکبار وصل شدید ، دوباره وصل شدنش داره باعث خطا میده . شما میتونید با یک یوزر دیگه وصل بشید یا نه ؟
    همچنین آیا هر دو برنامه روی لوکال هستند یا بانک شما در شبکه قرار داره ؟
    هر دو برنامه به همراه دیتابیس در یک پوشه هست.
    لطفا هر کی میتونه راهنمایی کنه. برنامه تقریبا تموم شده فقط مشکل اتصال به دیتابیس هست.

  8. #8
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    کاشان
    پست
    580

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    oخوب دوست عزیز شما موقعی که کارت توی یک برنامه با دیتابیس تموم شد ، حتما کانکشنتو ببند . بعد برنامه دیگه هم . به هر حال گاها ممکنه دو برنامه همزمان بخوان دسترسی پیدا کنن که این همزمانی هارو باید به دست بگیری و کنترل کنی . فعلا شما کانکشناتو وقتی نیاز داری باز کن و وقتی کارت تموم شد ، حتما ببند .

    موفق باشی

  9. #9

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط seven7777777 مشاهده تاپیک
    oخوب دوست عزیز شما موقعی که کارت توی یک برنامه با دیتابیس تموم شد ، حتما کانکشنتو ببند . بعد برنامه دیگه هم . به هر حال گاها ممکنه دو برنامه همزمان بخوان دسترسی پیدا کنن که این همزمانی هارو باید به دست بگیری و کنترل کنی . فعلا شما کانکشناتو وقتی نیاز داری باز کن و وقتی کارت تموم شد ، حتما ببند .

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

  10. #10

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    گاها ممکنه دو برنامه همزمان بخوان دسترسی پیدا کنن که این همزمانی هارو باید به دست بگیری و کنترل کنی
    این کار رو خود SQL Server انجام میده ، اگر هم کاربر بخواد خودش مدیریت کنه باید یک برنامه واسط بنویسه که مابین برنامه اصلی و SQL Server قرار بگیره که مشکلات خاص خودش رو داره.
    در تمام نسخه ها غیر از اکسپرس این مشکل میتونه به وجود بیاد ولی در اکسپرس نباید پیش بیاد!!
    دیتابیس رو چطور طراحی کردید؟ با استفاده از VS طراحی کردید یا از Management Studio استفاده کردید؟ دیتابیس رو در حالت single user mode قرار دادید؟
    یه برنامه ساده دیگه بنویسید و همین مشکل رو اونجا هم بررسی کنید ، در صورتیکه بازم خطا داد برنامه دوم و دیتابیس رو قرار بدید تا شاید بشه فهمید مشکل از کجاست.

  11. #11
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

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

    اگه هر دوش یکی بود
    شما برا این کار دیتابیس رو به اینستنس پدر اتچ کنید ، حالا یا با کد یا با Management Studio
    دیتابیس رو نیاز نیس تو مسیر اجرایی هر دو برنامه بذارید.
    کانکشن استرینگ رو تغییر بدید
    اگه از SQL SERVER Authentication استفاده میکنید:
    Password=123456789;Persist Security Info=True;User ID=sa;Initial Catalog=X;Data Source=.\sqlexpress

    اگر هم از Windows Authentication استفاده میکنید

    Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=X;Data Source=.\sqlexpress



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

  12. #12

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط Esmail Solhkhah مشاهده تاپیک
    یه سوال کلیدی رو جواب ندادید :
    آیا هر دو برنامه یکی هستند یا اینکه برنامه های متفاوتی هستند ؟
    Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=X;Data Source=.\sqlexpress
    نه دو برنامه جداگانه هست یکی سرویس و یکی خود برنامه اصلی .من از این کانکشن استرینگ برای هر دو برنامه استفاده کردم ولی حالا این پیغام را نشان میدهد.

    Directory lookup for the file "C:\Documents and Settings\XX\My
    Documents\Visual Studio
    2008\Projects\WindowsFormsApplication3\WindowsForm sApplication3\b
    in\Debug\M.mdf" failed with the operating system error
    5(error not found).
    Cannot attach the file 'C:\Documents and Settings\XX\My
    Documents\Visual Studio

  13. #13
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

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

    Directory lookup for the file "C:\Documents and Settings\XX\My
    Documents\Visual Studio
    2008\Projects\WindowsFormsApplication3\WindowsForm sApplication3\b
    in\Debug\M.mdf" failed with the operating system error
    5(error not found).
    Cannot attach the file 'C:\Documents and Settings\XX\My
    Documents\Visual Studio
    ظاهرا مسیر خیلی طولانیه ، تو یه مسیر ساده تر دیتابیس رو بذارید بعد اتچ کنید.

    کد اتچ رو اگه بذارید میشه دقیقتر نظر داد.

    موفق باشید.

  14. #14

    Question نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    سلام
    اين هم دو برنامه که يکي سرويس هست و دیگری یک برنامه لاگین
    که شما بايستي اول سرويس را نصب کنيد و بعد برنامه دوم را در کنار فايل سرويس قرار دهيد که از همان ديتابيس سرويس

    استفاده کندو در اين صورت برنامه اين ارور را ميدهد.

    اگر تابع InsertToList را کامنت کنيم مشکلي پيش نميايد. من کانکشن رو کلوز کرده ام اما باز مشکل پيش ميايد.

    Cannot open user default database. Login failed.
    Login failed for user .
    فایل های ضمیمه فایل های ضمیمه

  15. #15
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    دیتابیس رو بدون استفاده از AttachDbFilename و توسط کد

    Create Database dbname For Attacht


    یا توسط Management Studio اتچ کنید

    ضمنا اگه با کد اتچ کردید تو سرویس یا برنامه یه بار این کار رو بکنید ، یعنی اول چک کنید که دیتابیس قبلا اتچ نباشه بعد اتچ کنید

    ضمنا در موقع بکاپ گرفتن اون دایرکتوری 1 روکه تو ریشه درایو C میخاید بکاپ داخلش ریخته بشه بررسی کنید

    اگه وجود نداشت ایجادش کنید

    و کانکشن استرینگ رو هم یه بار بصورت متغیر عمومی تعریف کنید

    موفق باشید.

  16. #16

    Question نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط Esmail Solhkhah مشاهده تاپیک
    دیتابیس رو بدون استفاده از AttachDbFilename و توسط کد

    Create Database dbname For Attacht


    یا توسط Management Studio اتچ کنید

    ضمنا اگه با کد اتچ کردید تو سرویس یا برنامه یه بار این کار رو بکنید ، یعنی اول چک کنید که دیتابیس قبلا اتچ نباشه بعد اتچ کنید

    ضمنا در موقع بکاپ گرفتن اون دایرکتوری 1 روکه تو ریشه درایو C میخاید بکاپ داخلش ریخته بشه بررسی کنید

    اگه وجود نداشت ایجادش کنید

    و کانکشن استرینگ رو هم یه بار بصورت متغیر عمومی تعریف کنید

    موفق باشید.

    سلام

    لطفا برنامه Service را اجرا کنید و بعد لیست دیتابیس های اتچ شده را ببینید متوجه میشوید که دیتابیس جزو اتچ شده ها نیست.
    ولی این پیغام هنوز در موقع Login نمایش داده میشود.

    Cannot open user default database. Login failed.
    Login failed for user .
    فایل های ضمیمه فایل های ضمیمه

  17. #17
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    اینی که فرستادید کد اپلیکیشن هست

    سرویس رو نذاشتید

  18. #18

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط Esmail Solhkhah مشاهده تاپیک
    اینی که فرستادید کد اپلیکیشن هست

    سرویس رو نذاشتید
    سرویس در پست 14 هست من میخواهم آن را اجرا کنم و بعد با این برنامه لاگین کنم.

  19. #19
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    سرویس در پست 14 هست من میخواهم آن را اجرا کنم و بعد با این برنامه لاگین کنم.
    ببخشید فکر کردم شاید از اون موقع تا حالا تغییراتی توش داده باشید.

    چشم بررسی میکنم.

  20. #20
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    بنده تست کردم موردی نبود

    به پیشنهاد بنده باز عمل نکردید و هنوز دارید از User Instance استفاده میکنید

    احتمال قوی هم با کاربر Administrator ویندوز برنامه رو ران میکنید

    اون فایلی رو که از مایکروسافت تو تاپیک قبلی تون گذاشته بودم حتما بخونید اگه سیستم بره تو اجرای واقعی تو یه محیطی که اینترنت داره خودتون عملا یه نقطه ورود برا هکرها باز میکنید!

  21. #21

    Question نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    سلام دوست عزیز

    آخرین نسخه سرویس و اپلیکیشن رو تو همون تاپیک آپ کنید و دقیقا بگید مورد چیه و چی میخاید
    سلام
    برنامه رو ضمیمه کردم لطفا اول سرویس را نصب کنید و بعد برنامه WindowsFormsApplication9 را داخل پوشه سرویس را اجرا کنید . برنامه لاگین نمیکند.

    و اگر تابع InsertToList را در سرویس کامنت کنیم برنامه لاگین میکند.
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله Collector : پنج شنبه 31 شهریور 1390 در 10:24 صبح

  22. #22
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    سلام دوست عزیز

    چشم بررسی میکنم ولی تا عصر

    شاید هم دوستان لطف کردن و قبل بنده زحمتش رو کشیدن

  23. #23
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    دوست عزیز برنامتون رو اصلاح کردم ، دیگه نباید اصلا موردی داشته باشید (البته اگه بازم برنگردید به روش خودتون)

    فقط به کانکشن استرینگ ها دقت کنید و اونا رو با اینستنس خودتون ریپلیس کنید


    .\sqlexp2005


    رو ست کنید به

    .\sqlexpress


    موفق باشید.
    فایل های ضمیمه فایل های ضمیمه

  24. #24

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط Esmail Solhkhah مشاهده تاپیک
    دوست عزیز برنامتون رو اصلاح کردم ، دیگه نباید اصلا موردی داشته باشید (البته اگه بازم برنگردید به روش خودتون)

    فقط به کانکشن استرینگ ها دقت کنید و اونا رو با اینستنس خودتون ریپلیس کنید


    .\sqlexp2005


    رو ست کنید به

    .\sqlexpress


    موفق باشید.
    خیلی متشکرم دوست من

    مشکل با لاگین حل شد اما با آدرس های طولانی مشکل دارد را حل چیست؟

  25. #25
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    مشکل با لاگین حل شد اما با آدرس های طولانی مشکل دارد را حل چیست؟
    چند کاراکتری ؟

  26. #26

    Question نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط Esmail Solhkhah مشاهده تاپیک
    چند کاراکتری ؟
    با این آدرس
    C:\Documents and Settings\XXX\My Documents\Downloads\Compressed\900631\Spion\Spion\  bin\Debug

  27. #27
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    سورس پروژتون رو بذارید تو یه مسیر ساده مثلا

    C:\Collector

    و از اونجا اجرا کنید

    در کل سعی کنید از مسیرهای طولانی نه برای SQL SERVER بلکه برای هر نرم افزار دیگه ای استفاده نکنید.

    موفق باشید.

  28. #28

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط Esmail Solhkhah مشاهده تاپیک
    سورس پروژتون رو بذارید تو یه مسیر ساده مثلا

    C:\Collector

    و از اونجا اجرا کنید

    در کل سعی کنید از مسیرهای طولانی نه برای SQL SERVER بلکه برای هر نرم افزار دیگه ای استفاده نکنید.

    موفق باشید.
    توی اون آدرس خوب اجرا میشه ولی به نظر شکا توی این آدرس مشکلی پیش نمیاد.

    C:\Program Files\xxxxxxxxxxxxxx\xxxxxxxxxxxxxx

  29. #29
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    احتمالا درست اجرا بشه

    فکر کنم یه محدودیت 128 کاراکتری برا این مورد داشته باشیم

    پس سعی کنید از مسیرهای طولانی استفاده نکنید.

  30. #30

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    ظاهرا یک بار بیشتر نمیشود و اگر یک بار سرویس را استوپ و بعد اجرا کنیم این پیام را موقع اجرای فرم لاگین نمایش میدهد.

    Database 'Ma' already exists. Choose a different database name.

  31. #31
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    کد رو آپتیمایز کردم

    بررسی کنید
    فایل های ضمیمه فایل های ضمیمه

  32. #32

    نقل قول: اتچ کردن ديتابيس در دو برنامه برنامه

    نقل قول نوشته شده توسط Esmail Solhkhah مشاهده تاپیک
    کد رو آپتیمایز کردم

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

    Database 'Ma' already exists. Choose a clifferent clatabase name. 


    Database 'Ma' cannot be opened clue to inaccessible files or insufficient memory or disk space. 

    See the SQL Server errorlog for


    Cannot open database "MA" requested by the login. The login failed.

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

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