در هنگام استفاده از برخی از برنامهها چون Entity Framework Core یا EF Core، گاهی اوقات در هنگام اتصال به دیتابیس با خطای زیر مواجه میشویم:
Login failed for user 'USERNAME'
در این مقاله به نحوه رفع مشکل می پردازیم ...
علت مشکل
این مشکل معمولا به دو علت میتواند روی دهد:
1- عدم درج صحیح آدرس سرور MSSQL، نام کاربری یا رمز عبور دیتابیس
2- در رمز عبور از کاراکتری استفاده شده که در بستر برنامه شما، تعریف و کارکرد متفاوتی برای آن وجود دارد. بنابراین لازم است با escape character به برنامه بگوییم که این کاراکتر جزیی از رمز عبور است. مثال: کاراکتر $ در رمز عبور شما قرار دارد.
نحوه رفع مشکل
ابتدا توصیه میشود که علت اول را با بررسی صحت اطلاعات دیتابیس مورد بررسی قرار دهید. در صورتیکه اطلاعات دسترسی صحیح بود به رمز عبور دقت کنید. اگر کاراکتر $ در آن بود یکی از دو روش زیر را جهت رفع مشکل اجرا کنید:
روش اول: رمز عبور دیتابیس را به عبارتی تغییر دهید که کاراکتر $ در آن نباشد.
روش دوم: یک کاراکتر ` قبل از $ اضافه کنید تا برنامه شما متوجه شود که $ جزیی از رمز عبور دیتابیس شماست. کاراکتر ` به عنوان escape character شناخته میشود.