동일한 서버에서 ASP.NET SOAP 웹 서비스를 호출하는 .NET3.5 Windows Forms 응용 프로그램이 있습니다. 그런 다음이 웹 서비스는 데이터를 SQL Server Express 2005 데이터베이스에 다시 동일한 서버에 저장합니다.저장 프로 시저에 액세스하는 중 오류가 발생했습니다.
응용 프로그램은 많은 고객뿐만 아니라 내부적으로도 배포되었으며 18 개월 이상 예상대로 작동했습니다. 그러나 이번 주 주요 고객 사이트에서 배포 된 10 대의 서버 중 4 대에서 오류 메시지가 생성되기 시작했습니다. 모든 웹 서비스 메서드는 동일한 연결 문자열을 사용하지만 하나의 웹 메서드 만 영향을받습니다.
연결 문자열이 형식은 다음과 같습니다
Data Source=MYSERVER\SQLEXPRESS;Initial Catalog=MyDatabase;
Persist Security Info=True;User ID=MyUser;Password=MyPassword
응용 프로그램이 하나 개의 특정 웹 서비스 메소드를 호출
, 에러를 생산 : 에 응용 프로그램에 변경 사항이 없습니다Cannot find the user 'MyDatabase', because it does not exist or you do not have permission.
그러나 고객의 IT 담당자가 이러한 서버를 변경했을 수 있습니다. MyUser
에 저장 프로 시저에 대한 사용 권한이 부여되어 다른 모든 웹 서비스 인터페이스에 연결할 수 있습니다.
나를 혼란스럽게하는 주요한 점은 오류 메시지가 연결 문자열에 Initial Catalog
인 MyDatabase
이라는 존재하지 않는다고 말합니다.
나는 고객과 함께 현장에 있었고 응용 프로그램이 올바르게 설정되어 있고 다른 모든 웹 서비스 인터페이스가 데이터베이스에 올바르게 연결되어 있는지 확인했습니다.
내가 확인할 수있는 가능한 원인이나 다른 제안 사항에 대한 제안은 감사의 뜻을 전합니다.
제 질문을 고맙습니다. "dbo"를 추가해야한다고 제안하고 있습니까? 어딘가에 연결 문자열에? 이 SQL Server 인스턴스에는 다른 데이터베이스가 설치되지 않으므로 명명 충돌이 없어야하며 연결 문자열에 데이터베이스 이름을 지정해야 올바른 스키마에 액세스하고 올바른 프로 시저를 호출해야합니다. –