C# SqlConnection
클래스를 사용하여 연결을 시도하는 호스팅 서버에 데이터베이스가 있습니다. 문제없이 SQL Server 인증을 사용하여 SQL Server Management Studio를 통해 서버에 로그온 할 수 있습니다.C#을 사용하여 온라인 SQL Server에 로그온하면 "사용자가 로그인하지 못했습니다 ..."?
내 개시 코드는 다음과 같습니다 : 데이터베이스 이름, 사용자 이름과 암호를 적절한 값으로 대체됩니다
public static string ConnectionString { get; set; }
public Constructor() {
ConnectionString = @"Data source=SQL6002.site4now.net;Initial Catalog=myDatabase;User Id=MyUserName;Password=MyPassword;";
}
. 연결 코드는 다음과 같습니다.
using (SqlConnection con = new SqlConnection(ConnectionString))
{
con.Open();
...
}
이 코드는 로컬 db 연결 문자열을 사용할 때 작동합니다. 그러나 위의 연결 문자열을 사용하면 오류가 발생합니다.
오류가 발생했습니다. 사용자 'IFC \ WINxxxx $'에 대한 로그인에 실패했습니다.
예외 유형 : System.Data.SqlClient.SqlException System.Data.SqlClient.SqlInternalConnectionTds..ctor (DbConnectionPoolIdentity 신원, 등등에
스택 트레이스
여기서 사용자의 X 이름은 숫자이며 또한 연결 문자열에서 사용하는 사용자 이름이 아닙니다.
신뢰할 수있는 연결 = true를 추가하려고했지만 통합 보안 = true가 성공하지 못했습니다.
SQL Server Management Studio를 통해 서버에 로그온하고 보안 -> 로그인 -> MyUserName에서 속성을 열면 암호가 SSMS에 로그온 할 때 사용한 것과 길이가 같지 않습니다. 나는 호스트를 통해서만, smarterasp.net SSMS를 통해 그것을 변경할 수있는 권한이 없습니다.
모든 입력을 환영합니다!
위의 연결 문자열에서와 같이 사용자가 'MyUserName'이 아니라'IFC \\ WINxxxx $'라고 생각한다는 오류가 표시됩니다. 통합 로그인 (예 : Windows 인증)을 사용하는 것처럼 보이며 SQL 로그인이 아닙니다. – Yuck
'Trusted_Connection = True; 및'integrated security = true' - 서버에 Windows 인증을 사용하도록 **, ** ** 원하지 않는 것을 말합니다. – stuartd
Stuartd : 두 대의 PC 사이를 연결하기 위해 Windows 자격 증명이 필요합니다 . SQL을 사용하거나 사용하지 않고 연결을 완료하려면 두 PC가 동일한 그룹에 있어야합니다. Windows 자격 증명을 사용하지 않으면 게스트 권한이 있고 데이터베이스에 대한 게스트 액세스를 허용해야합니다. – jdweng