2012-10-13 3 views
0

.net에서 mvc 3 응용 프로그램을 연결하는 데 문제가 있습니다. mysql 데이터베이스 인스턴스는 web.config 파일을 사용하여 연결하기 전에 만들어야한다는 것을 알고있다. 내 아래 connectionStrings :.NET MVC3에서 mysql 데이터베이스에 연결할 수 없습니다

<connectionStrings> 
<add name="epmsDb" 
    connectionString="Server=localhost;Database=database1; 
        Uid=root;Pwd=mypassword" 
    providerName="System.Data.SqlClient" /> 
</connectionStrings> 

난 서버 탐색기에서 만든 데이터베이스 이름 호출 epmsDb 있어요. 나는 이것을 극복하기 위해 노력했습니다

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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) 

:

string connectionString = 
      ConfigurationManager.ConnectionStrings["epmsDb"].ConnectionString; 
     context = new DataContext(connectionString); 
     usersTable = context.GetTable<UserObj>(); 

나는 데이터베이스에 액세스하려고 할 때마다, 나는이 예외를 던졌다 : 그럼이를 사용하여 코드의 ConnectionString을 얻을려고 일주일. 누구도이 사건이 일어난 이유를 알고 있습니까?

+0

당신이 명명 된 파이프 프로토콜을 사용할 수 있는지 확인 했 : MySQL의 DB에 연결하려면 당신은 MySQL connector

는 그 다음 ProviderName 속성을 변경 사용할 수 있는가? –

+0

명명 된 파이프가 꺼져 있는지 확인하고 발견했습니다. 그것을 열어야합니까? 어떻게하는지 아십니까? 내가 아는 한 MySQL 연결은 TCP 포트를 사용한다. – Best

+0

제 의견을 무시하십시오. SqlClient를 사용하는 것을 보았을 때, 나는 당신이 SqlServer에 연결을 시도하고 있다고 잘못 생각했습니다. 매우 혼란 스럽습니다. –

답변

1

예는 MS SQL 데이터베이스에 연결을 시도합니다.

<connectionStrings> 
<add name="epmsDb" 
    connectionString="Server=localhost;Database=database1; 
        Uid=root;Pwd=mypassword" 
    providerName="MySql.Data.MySqlClient" /> 
</connectionStrings> 
+0

솔루션 주셔서 감사합니다 이제 서버 탐색기를 통해 데이터베이스를 찾을 수 있지만 여전히 asp.net 코드를 통해 연결할 수 없습니다. 이 아이디어를 어떻게 조사해야하는지 다른 아이디어가 있습니까? 감사합니다 – Best

+0

MySql 포트가 Windows 방화벽에 의해 차단되어 있지 않은지 확인하십시오. 대부분의 MySQL 버전의 기본값은 3306입니다. –

관련 문제