2014-12-18 3 views
0

Windows 2008 R2의 IIS7.5에서 호스팅되는 .net 웹 사이트가 있습니다. 응용 프로그램 풀은 .net V4.0 통합입니다. 웹 응용 프로그램이 .NET에 있고 데이터베이스가 MYSQL입니다. 내 연결 문자열은 다음과 같습니다.net mysql 데이터베이스가있는 .net 웹 사이트

DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;DATABASE=mydb;UID=auser;PASSWORD=richard;OPTION=3

나는 위의 드라이버와 MySQL을위한 시스템 DSN을 만들었습니다.

응용 프로그램은 로그인 페이지로 시작됩니다. username password를 입력하면 null이 반환되므로 로그인에 실패합니다. 저장 프로 시저를 데이터베이스에서 직접 실행 해 보았는데 결과가 정상적으로 반환됩니다. 동일한 응용 프로그램이 개발 환경에서 잘 실행되지만 테스트 배포 후에는 실패합니다.

<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" /> <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />

이 오류로 인해 : 내가 시험에 배포하면

내가 내 webconfig에서 다음 절 제거해야 중복이 있습니다 '를 system.web.extensions은/스크립트/웹 서비스/roleService'섹션 정의 .

이 문제를 해결하는 방법에 대한 아이디어는 높이 평가됩니다. 감사.

나는

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

.NET을 사용하여 IIS

을 다시 등록도 같은 문제의 Web.config에 여전히 덧붙였다.

<configuration> 
<system.web> 
<webServices> 
    <protocols> 
     <add name="HttpGet"/> 
     <add name="HttpPost"/> 
    </protocols> 
</webServices> 
</system.web> 

+0

: 다음과 같은 const string MyConnectionString = "SERVER=localhost;DATABASE=DbName;UID=userID;PWD=userPW;"

  • 열기 연결? – CAJE

  • +0

    DSN을 테스트했는데 성공했습니다. – user3756152

    +0

    IIS의 공급자에서 MySqlRoleProvider를 볼 수 있습니다. – user3756152

    답변

    0
    난 그냥 최근이 같았다 작업을 진행하기 위해 MySQL과 과정 작업 ASP.net을 받고 고생

    :

    1. MySQL의에서 MySQL의 라이브러리를 다운로드하고 추가해야합니다 참조 및 using MySql.Data.MySqlClient;

    2. Mysql Workbench를 통해 로컬 데이터베이스를 다운로드하여 작성하십시오. 관리자 계정을 만들 수는 있지만 ASP로 연결할 수 있으려면 로컬 호스트의 설정으로 가서 관리자와 동일한 권한을 가진 새 사용자를 만들어야합니다.

    3. 설정이 같은 연결 문자열 : 당신이 회원 자격 및 역할 공급자 취급 적이

    using (MySqlConnection con = new MySqlConnection(MyConnectionString)) {

    using (MySqlCommand cmd = new MySqlCommand()) 
        { 
         cmd.CommandText = xxxxxx; // Your query to the database 
         cmd.Connection = con; 
         cmd.Connection.Open(); 
        } 
    
    } 
    
    +0

    Thommy에게 감사드립니다. 내 응용 프로그램은 개발 환경에서 잘 작동합니다. 그것은 지금 내가 테스트에 배포 할 때 오류가 없지만 .net webapp는 mysql db에서 정보를 검색 할 수 없습니다. mysql 편집기에서 storedproc을 실행하면 값을 반환하지만 webapp는 반환하지 않으므로 두 인터페이스 사이에 약간의 인터페이스 문제가 있다고 생각합니다.하지만 찾을 수 없습니다. 동일한 응용 프로그램이 MySQL 환경의 db 환경에서 실행 중입니다 – user3756152

    +0

    디버깅을 시도 했습니까? 프로세스를 통해 스테핑?연결할 수는 있지만 실제로 "삽입"프로세스에서는 실패합니다. 시도하고있는 방식으로 테스트 환경을 설정하지 마십시오. 따라서 테스트 환경이 개발 환경과 어떻게 다른지에 대한 지식이 부족합니다. – JakobMillah

    관련 문제