2012-12-13 4 views
2

우리는 Access, Oracle 또는 SQL Server와 같은 기본 데이터베이스에 대한 ODBC 연결을 사용하는 "레거시"응용 프로그램을 사용합니다. 단위 (또는 아마도 더 "통합") 테스트 목적을 위해 SQL Server 2012 LocalDB 인스턴스를 연결하고 싶습니다. 그러나, 나는 올바른 ODBC 연결 문자열을 사용하여 알아낼 수 없습니다.SQL Server 2012 LocalDB 인스턴스에 대한 ODBC 연결

나는 시도했다 : 연결이 열릴 때

[TestMethod] 
    public void OdbcConnectionToLocalDb() 
    { 
     string connectionString = "DRIVER=SQL Server Native Client 11.0;Trusted_Connection=Yes;SERVER=(localdb)\v11.0;Description=LocalDB;"; 
     using (OdbcConnection connection = new OdbcConnection(connectionString)) 
     { 
      using (var command = new OdbcCommand("select * from Person", connection)) 
      { 
       connection.Open(); 
       // ... 
      } 
     } 
    } 

그러나, 다음과 같은 예외가 발생 :

System.Data.Odbc.OdbcException: ERROR [08001] [Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [67]. 
ERROR [HYT00] [Microsoft][SQL Server Native Client 11.0]Login timeout expired 
ERROR [08001] [Microsoft][SQL Server Native Client 11.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. 

는 ODBC를 통해 2012 LocalDB는 SQL Server에 연결하는 것이 가능 연결/드라이버? 특정 파일에 연결할 수 있습니까?

[편집] 개럿이 가능하다고 지적합니다. 내 질문에 정말 있어야합니다 그래서 연결 문자열을 잘못 있어야합니다 : 연결 문자열을 무엇이어야합니까?

+0

여기에 유용한 정보가 있습니다. http://www.mssqltips.com/sqlservertip/2694/getting-started-with-sql-server-2012-express-localdb/ –

+0

감사합니다. @AaronBertrand. 그에게는 유용한 정보가 있지만 내 문제와 관련하여 특별히 도움이되는 내용은 없습니다. 내 LocalDB에 유효한 ODBC 연결 문자열을 가져 오는 중. –

+0

그것이 내가 코멘트가 아닌 대답으로 올린 이유입니다. :-) 일반 응용 프로그램을 일반 Express 인스턴스 대신 LocalDB에 연결하는 이유는 무엇입니까? 연결 문자열은 LocalDB 엔진의 인스턴스를 생성 한 다음 데이터베이스 생성과 같은 작업을 수행하는 데 사용되는 것과 같습니다. 이미 인스턴스를 생성하고 데이터베이스를 생성했다면, 연결 문자열에 더 많은 "stuff"와 더 구체적인'SERVER'를 기대할 것입니다. –

답변

3

:

Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TestDB;Data Source=(localdb)\v11.0 

내가 생각하는 중요한 것은 당신이 서버가 아닌 데이터 소스로 참조이다 .

0

예, 가능합니다. 최신 드라이버를 설치했는지 확인하십시오. SQL Server Native Client "Denali"(ODBC 및 OLE DB 용). 추가 정보를 원하시면 여기를

봐 :이 같은 연결 문자열을 지정해야합니다 http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

+0

답장을 보내 주셔서 감사합니다. @ 가렛. 그것이 ** ** 가능하다는 것이 다행이다. 그것은 내가 원했던 것이다. 최신 SQL Server Native Client를 다운로드하여 설치했습니다 (여기, http://www.microsoft.com/en-nz/download/details.aspx?id=29065에서 "Microsoft® SQL Server® 2012 Native Client "를 참조하십시오. 그러나, 나는 여전히 위와 같은 오류가 발생, 바로 연결 문자열이없는 것 같습니다. –

관련 문제