2011-08-02 9 views
0

Microsoft SQL을 사용하는 SQL에 linq를 사용하고 있습니다. 서버 데이터베이스 파일 (SqlClient)을 데이터 소스로 사용하고 있습니다. db 파일은 연결을 추가하는 동안 Visual Studio 2010에서 만들어졌습니다 (데이터베이스 탐색기 -> 연결 추가). 이 방법을 사용하면 SQL 인증을 사용하여 db를 만들 수 없으므로 Windows 인증을 사용하고 있습니다.첨부 된 SQL 데이터베이스에 연결할 수 없습니다.

EDIT : 데이터베이스 연결이 아니라 데이터베이스 파일에 대한 연결입니다.

1) SQL 인증을 사용하여 데이터베이스 파일을 만들 수 있습니까? (나는 그것이 문제의 근원이라고 생각한다).

2) 컴퓨터에서 다른 acocunts로 연결이 정상적으로 작동합니다. 그러나 다른 시스템에서 릴리스를 실행하면 예외가 발생합니다.

예외 세부 정보 :

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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

내가 수동으로 DB 경로를 설정하려고했지만, 나는 그것이 문제가되지 같아요.

내가 뭘 잘못하고 있니?

EDIT2 : 내가 사용 연결 문자열 : 모든

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\OperatorResults.mdf;Integrated Security=True;Connect Timeout=10;User Instance=True" 
+0

AFAIK SqlClient는 SQL Server 파일에 직접 액세스하지 않습니다! 그래서 네, 당신은 실행중인 SQL Server 등 – Yahia

+0

나는 sqllite 데이터베이스를 사용하는 것과 비슷한 결과를 얻고 싶었습니다. 내가 가지고있는 SQL 서버는 Visual Studio와 함께 설치 한 것입니다. – grrawr

+0

그게 불가능합니다 - SQLLite는 "독립형 DB"입니다 - 클라이언트가 파일에 액세스하지만 SQL Server는 이름이 SERVER 데이터베이스이고 서버 프로세스를 통해 액세스해야한다고 말하면서 정말 다릅니다. 무엇이 잘못 되었습니까? SQLLite 솔루션을 가지고 있습니까? – Yahia

답변

0

첫째, 어떻게 SQL Server를 설치? Windows 인증 전용 또는 혼합 모드 인증 SQL Server 인증을 사용할 수없는 이유를 설명하는 것은 Windows 인증 일뿐입니다. 혼합 모드 인증이 사용 가능한 경우 sysadmin 또는 CREATE DATABASE 권한이있는 계정이 필요합니다.

두 번째 질문에 대해서는 다른 컴퓨터의 연결 구성과 일치하도록 연결 문자열을 수정 했습니까? 그렇지 않은 경우 시도하십시오. 위의 예외에서 연결 문자열이 잘못된 서버에 연결되어 있거나 서버 인스턴스가 실행되고 있지 않은 것으로 보입니다.

+0

MS SQL 서버가 설치되어 있지 않아서, sqllite와 같은 것이되고 싶다. – grrawr

+0

SQL Server Express에 연결할 수있는 독립 실행 형 파일이 있으면 릴리스 컴퓨터에서 SQL Server Express가 필요합니다.질문을 편집하고 연결 문자열을 올리시겠습니까? –

+0

여기 있습니다 :) – grrawr

0

당신은 그것은 파일 기반 연결을 허용 Microsoft SQL Server Express

를 원한다.

+0

정확히 사용하고 있습니다. – grrawr

+0

@grrawr 대상 머신에 express가 설치되어 있는지 확인해야합니다. 나는 그것이 다른 연결 제공자라고 생각한다. 그냥 생각. –

관련 문제