درباره نویسنده

سیدسروش سیدصدر

سروش صدر

برنامه نویس و مدرس زبان های برنامه نویسی دات نت -  فارغ التحصیل رشته مهندسی نرم افزار از دانشگاه آزاد قزوین (باراجین) 

38 دیدگاه

  1. عاطفه حسن پور

    عاطفه حسن پور

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

    پاسخ
    1. سیدسروش سیدصدر

      سیدسروش سیدصدر

      با سلام
      خواهش میکنم
      بسیار عالی

      پاسخ
  2. مهدی ربانی ذبیحی

    مهدی ربانی ذبیحی

        باسلام جناب مهندس خسته نباشید هم بابت محصول خوبی که در نیک اموز ارائه کردید و  هم بابت مقاله خوب تون.

    پاسخ
    1. سیدسروش سیدصدر

      سیدسروش سیدصدر

      با سلام
      خواهش میکنم
      لطف دارید 🙂

      پاسخ
  3. محمدرضا خاکپور

    محمدرضا خاکپور

       میشه دیتابیس رو کنار فایل برنامه گذاشت یا در پوشه کنار اون و با استفاده از
    application.startup مسیر پروژه رو در کانکشن استرینگ استفاده کرد.

    پاسخ
    1. فرشید علی اکبری

      فرشید علی اکبری

      دوست عزیز، اینم میتونه یکی دیگه از گزینه هاش باشه ولی اگه به هردلیل دیتابیس بصورت دستی جابجا شد چی؟ بازم پیشنهاد شما عملیه؟ فرض کنید شما نرم افزارتون رو در شرکت بنده در مسیر C:\xCRM نصب میکنید و بنده به عنوان مسئول آی تی، مدتی بعد بنا به هر دلیلی بانک اطلاعاتی رو از داخل مسیر نرم افزار به درایو ومسیر هارد دیسک دیگه ای انتقال داده و اونو Attach میکنم. حالا وارد نرم افزار شما میشم، آیا بازم به بانک اطلاعاتیش کانکت میشه؟ مسلماً خیر؛ بنابراین بهترین روش اینه که حتماً در نرم افزارتون یک بخش مستقل برای این منظور درنظر بگیرید تا درصورت عدم اتصال به بانک مورد نظر، (حالا یا درحالت دستی و یا خودکار) فرم تنظیمات دسترسی و تست اتصال به بانک مورد نظردر اون قرار داشته باشه که تصویر قرار داده شده در آخر همین مقاله، بصورت کاملاً ساده وگویا اینمورد را گوشزد کرده است.
      پاسخ
  4. محمد رضا رزقی

       سلام با عرض خسته نباشید 

    من یه پروژه خبری دارم که برروی دو سرور قرار انجام بشه یکی برای ارشیو و یکی هم برای نشان دادن چگونه میتونم بین این دو سرور ارتباط برقرار کنم
    با تشکر 
    پاسخ
    1. مسعود طاهری

      مسعود طاهری

      محمد رضا جان سلام

      برای انجام اینکار می توانید از قابلیت های زیر استفاده کنید
      1- استفاده از ADO.NET Bulk Insert : سرعت بالا+ به راحتی از آن در محیط C# می توانید استفاده کنید.
      2- استفاده از SSIS : ایجاد پکیج SSIS و جاب کردن آن روی سرور برای آرشیو دیتا (سریعترین راه حل + انجام کار با سرعت بالا)
      3- استفاده از Linked Server ک استفاده بد = کاهش شدید کارایی
      برخی از این موارد در دوره SQL Server ویژه برنامه نویسان بررسی شده است
      پاسخ
  5. فرشید علی اکبری

    فرشید علی اکبری

     سلام

    البته این می تونه ساده ترین و کوتاهترین راه برای اینمورد باشه ولی من خودم ترجیح میدم مشخصات ConnectionString رو در بصورت کاملاً Encrypt شده در یک فایل و به دور از دسترس سایرین قرار بدم تا (مطابق با مشاهدات قبلی) کمتر با کاربران خاطی به مشکل بخورم.
    پاسخ
  6. آموزش آشپزی

    ممنون آموزش خوبی بود

    پاسخ
  7. مصطفی

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

    پاسخ
    1. آرزو محمدزاده

      آرزو محمدزاده

      با سلام و عرض ادب

      این مقاله برای زمانی است که شما با اطلاعات Connection String خود که قبلا ایجاد کردید وارد نرم‌افزار می‌شوید و سپس می‌خواهید در زمان اجرا به دیتابیس دیگری متصل شوید برای همین نیاز به وارد کردن اطلاعات جدید دارید

      اما برای زمانی که فقط یک دیتابیس دارید نیازی به استفاده از این روش نیست
      و می‌توانید اطلاعات دیتابیس خود را در فایل app.config و یا داخل کد قرار دهید .

      پاسخ
      1. مصطفی

        مرسی
        لطف کردین

      2. علی

        سلام. من تو برنامه م نیاز دارم که در هنگام ورود کاربر برای اولین بار بانک خودش رو به سیستم شناسایی کنه و بعد برای دفعات بعد اجرای برنامه به همون بانک وصل بشه.
        از روش شما استفاده کردم. ولی بعد از بستن برنامه سیستم دوباره برمیگرده به تنظیمات پیشفرض و به همون Connection String که در فایل app.config ذخیره شده بود وصل میشه. در صورتیکه من میخوام بعد از انجام تغییرات، فایل app.config هم تغییر کنه و دفعات بعد با این فایل وارد بشه.
        میشه راهنماییم کنید که چیکار باید کنم؟

      3. آرزو محمدزاده

        آرزو محمدزاده

        با سلام و عرض ادب
        به نقل از مهندس سروش صدر

        شما می توانید اطلاعات کانکشن رو در یک فایل xml قرار داده و در فولدر debug ذخیره کنید و در کد هر بار از همان فایل اطلاعات را خوانده و تغییر نکند.

  8. ابراهیم

    مهندس دست شما درد نکنه آیا این برنامه برای سی شارپ است یا ای اس پی دات نت

    پاسخ
    1. آرزو محمدزاده

      آرزو محمدزاده

      سلام و عرض ادب
      به نقل از مهندس سروش صدر

      برای windows application است یعنی سی شارپ.

      پاسخ
  9. ابراهیم

    با عرض سلام و خسته نباشید مهندس لطف می کنید با سی شارپ یک برنامه هم برای بک آپ و بازیابی از هر دیتابیس اس کیو ال سرور که مدنظر است قرار دهید(یعنی از طریق یک تکست باکس اسم دیتابیس رو بگیره و قادر به ذخیره گرفتن یا بازیابی دیتابیس باشیم)

    پاسخ
  10. ابراهیم

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

    پاسخ
    1. مسعود طاهری

      مسعود طاهری

      1- شما باید به Instance مورد نظر وصل شوید
      2- از DMVزیر استفاده کنید
      Select * from sys.databases
      3- اون ها را به کمبوباکس اضافه کنید
      4-از دستور زیر برای Detach استفاده کنید
      https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-detach-db-transact-sql?view=sql-server-2017

      5-برای Attach باید MDF و LDF بدهید و از دستور زیر استفاده کنید

      https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-attach-db-transact-sql?view=sql-server-2017

      این روش ساده ترین رواال انجام کار است

      پاسخ
  11. ebrahim

    دست همگی شما درد نکنه ، کاش برای اتچ یا دی تچ دیتابیس در اس کیو ال سرور و تنظیم کانکشن استرینگ یک برنامه همراه با توضیحات قدم به قدم برای افراد مبتدی مثل من قرار می دادید .

    پاسخ
  12. اسد

    درود
    توضیح: بانک من در sql server 2014 می باشد
    1. دسترسی و شناسایی و استفاده از یوزر برای بانک را تنظیم کرده ام که بوسیله sql server یوزر وارد شود و بتواند از راه دور هم دسترسی بگیرد
    2. در تنظیمات، برای TCP هم enable کرده ام و پورت مورد نظر را 1433 وارد کرده ام
    3. در فایروال دسترسی به پورت را باز کرده ام و دسترسی به sql server را نیز فعال ساخته ام
    حالا وقتی از داخل Visual C# که روی یکی از سیستمهای درون شبکه در حال اجرا است به سرور اتصال می دهم و اتصال می سازم سرور شناسایی می شود و اطلاعات جداول را می توانم ببینم و بخوانم،
    ولی وقتی بوسیله برنامه نوشته شده رشته اتصال را بر اساس IP و پورت سرور تنظیم می کنم (همانند رشته اتصال زیر ؛
    conect = new SqlConnection(@”Data Source=” + address + “;Initial Catalog=mebank;” + “Integrated Security=True;User ID=myUser;Password=mypassword;”);
    • connect یک مقدار رشته ای است برای استفاده در طول برنامه!
    • بجای address ، مقدار IP و پورت قرار می گیرد (مثلا 172.31.85.30,1433)
    این IP را می توان در برنامه وارد کرد تا برنامه بتواند از آن استفاده کند.
    حالا وقتی برنامه اجرا می کنم و می خواهم به اطلاعات دسترسی داشته باشم خطای زیر داده می شود!!!
    System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 – The remote computer refused the network connection.) —> System.ComponentModel.Win32Exception (0x80004005): The remote computer refused the network connection
    بسیار سپاسگزار می شوم راهنمایی بفرمایید چطور از این مخمصه رها شوم؛
    ایا رشته اتصالم مشکلی دارد و چیزی کم دارد؟ یا مشکل از چیز دیگری است

    پاسخ
    1. مسعود طاهری

      مسعود طاهری

      برای تست از Telnet استفاده کنید
      منظورتان از راه دوره یعنی اینترنت و… بهتر است چک این کار را با Telnet برای اون پورت مورد نظر انجام دهید در برخی مواقع در Connection اشاره به شماره پورت می تونه مشکل را حل کنه ,…
      ضمنا خطای شما یک مشکل شبکه ای است و این نشون میده که اون کلاینت دسترسی به اون سرور ندارد بهتر است با Telnet چک کنید ببینید اوضاع چگونه است و از دوستان شبکه کمک بگیرید

      پاسخ
  13. مسعود

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

    پاسخ
  14. مرادی

    سلام من یک دیتابیس در sql 2017 ساختم و بعد از ساخته شدن compatibility انرا روی 2008 گذاشتم حالا یک سوال و یک مشکل دارم لطفا جواب بدهید.
    1- آیا گزینه فوق باعث میشود من نتوام از امکانات مربوط به 2017 در دیتابیسم استفاده کنم. مثل ایندکسهای جدید تعریف شده
    2- mdf و ldf را وقتی به اس کیو ال 2014 و 2008 میبرم خطای عدم سازگاری میدهد حتی بکاپ ریستور هم بدین صورت است حتی در سیستم مقصد به فایلها دسترسی مجاز همان ادمین را دادم و ssms هم با run as admin اجرا کردم اما نمیشه فقط با اسکریپت تونستم به 2014 و 2008 بیارم که چون اطلاعات داخل زیاد هست عملا باید فقط ساختارها را بدون اطلاعات بیارم که بی فایده است
    لطفا راهنمایی بفرمائید با تشکر

    پاسخ
    1. مسعود طاهری

      مسعود طاهری

      1-پاسخ سوال اول
      در برخی موارد بلی، توصیه من به شما این است که با Compatibility 2017 هم برنامه را چک کنید و ….

      2- پاسخ سوال دوم
      انتقال فایل های فیزیکی دیتابیس و بکاپ از نسخه بالا به پایین امکان ندارد طبیعی است … هدر فایل با نسخه بالا بازنویسی شده و…
      استفاده از اسکریپت ، ویزارد Import,Export و…

      پاسخ
  15. ebrahim

    مهندس سلام ، چطور می تونم در سی شارپ یک جستجو درست کنم که تمام فایل هایی با یک پسوند مشخص رو پیدا کرده و در یک لیست باکس یا کمبوباکس نشان بده با تشکر

    پاسخ
    1. آرزو محمدزاده

      آرزو محمدزاده

      درود بر شما

      به نقل از مهندس سروش صدر

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

      پاسخ
  16. ebrahimaloostani

    ebrahimaloostani

    سلام یک سوالی دارم اگه جواب بدهید ممنون میشم. من در یک پنجره سی شارپ ۳ تا کمبوباکس و یک دیتاگریدویو دارم می خواهم در کمبو باکس ۱ دیتابیس های مختلف sql server نمایش داده بشه ، سپس با کلیک بر روی هر دیتابیس ، تیبل های مختلف اون در کمبوباکس ۲ نمایش داده بشه ، سپس با کلیک بر روی هر تیبل ، فیلدهای اون در کمبوباکس ۳ و دیتاگرید ویو نمایش داده بشه . ممنون میشم یک سورس کد برای من قرار دهید با تشکر فراوان

    پاسخ
    1. آرزو محمدزاده

      آرزو محمدزاده

      درود بر شما

      می توانند از این لینک استفاده نمایند.

      https://www.c-sharpcorner.com/blogs/know-your-database-meta-data-with-c-sharp-code

      تشکر از همراهی شما

      پاسخ
  17. ابراهیم

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

    پاسخ
    1. آرزو محمدزاده

      آرزو محمدزاده

      درود وقت بخیر
      به نقل از مهندس سروش صدر

      برای یادگیری بیشتر می توانید از لینک زیر استفاده نمایید.

      https://www.c-sharpcorner.com/blogs/know-your-database-meta-data-with-c-sharp-code

      پاسخ
  18. arman

    سلام خسته نباشید من یه بروژه درست کردم ولی APP.config نداره راهنمایی کنید

    پاسخ
  19. arya

    سلام
    ممنون میشم جوابمو بدید❤
    من مشکلم اینه که وقتی برنامه رو خواستیم بریزیم رو سیستم دیگه چکار کنم که نیازی به نصب ssms نشه؟؟

    پاسخ
    1. آرزو محمدزاده

      آرزو محمدزاده

      با سلام
      نصب SSMS به صورت مجزا در فایل نصبی SQL Server از ورژن 2014 به قبل وجود دارد
      و در نسخه 2016 به بعد هم به صورت مجزا از سایت ماکروسافت قابل دانلود می باشد.
      در صورت عدم نیاز می تواند فقط Database Engine را نصب کنید

      تشکر از همراهی شما

      پاسخ
  20. مجید

    سلام . وقت بخیر خوب هستین
    if (txt_username.Text == “” && txt_password.Text == “”)
    {
    Session[“username”] = txt_username.Text;
    Response.Redirect(“Chat.aspx”);
    }
    else
    {
    lbl_login.Text = “نام کاربری یا کلمه عبور اشتباه است”;
    }
    ……………………………………
    کاربران ثبت نام میکنن .. با هون نام کاربری و رمز عبور ثبت کردن >> وارد صفحه بعدی بشود
    نام کاربری خودش وارد کنه
    رمز خودش بزنه
    if (txt_username.Text == “” && txt_password.Text == “”)
    لطفا کمک کنید

    پاسخ

ارسال یک نظر

نشانی ایمیل شما منتشر نخواهد شد.

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