2017-02-15 1 views
1

내가 연결 문자열을 저장 한 2013'MultipleActiveResultsSets'키워드는

Visual Studio에서 만든 ASP.NET 웹폼 웹 사이트를 통해 MS 애저에서 호스팅하는 SQL Server 데이터베이스에서 읽기 위해 노력하고 지원되지 않음 Web.Config에서 코드 숨김에서 참조했습니다. 그러나 this 오류가 표시됩니다.

여기 내의 Web.config입니다 :

<connectionStrings> 
    <add name="FYPConnectionString1" 
    connectionString="Data Source=damo.database.windows.net‌​;Initial Catalog=Ballinora_db;   
    Persist Security Info=True; User ID={Username};Password={Password};" /> 
    </connectionStrings> 

나는 오류가 중지 있는지 확인하기 위해 연결 문자열에서 "MultipleActiveResultsSets = 거짓"을 제거하는 대신, 오류가 지금은 "암호화"를 표시합니다.

그래서 연결 문자열의 암호 부분 뒤에 다음 항목에 오류가 표시됩니다. 암호로 문제가 발생 했습니까?

또한이 사용자 이름과 비밀번호는 Azure 포털에 나타나는 Server Admin Login 세부 사항입니까?

private void bindRepeater() 
{ 
    string constr = ConfigurationManager.ConnectionStrings["FYPConnectionString1"].ConnectionString; 
    //-- assuming Azure connection string stored in ConnectionString config in Web.Config as YourConnString 
    using (SqlConnection con = new SqlConnection(constr)) 
    { 
     using (SqlCommand cmd = new SqlCommand("SELECT Name FROM Users", con)) 
     { 
      cmd.CommandType = CommandType.Text; 
      con.Open(); 
      SqlDataAdapter sda = new SqlDataAdapter(cmd); 
      DataTable dt = new DataTable(); 
      sda.Fill(dt); 
      repTest.DataSource = dt; 
      repTest.DataBind(); 
      con.Close(); 
     } 
    } 
} 

protected void btnDisplay_Click(object sender, EventArgs e) 
{ 
    this.bindRepeater(); 
} 
+0

안녕하세요, 저는 Azure Cloud Server를 SQL 데이터베이스와 함께 사용합니다. 나는 나의 대답을 업데이트했다. 그리고이 질문 게시의 오른쪽에있는 '관련'을 참조하십시오. 비슷한 경우가 있습니다. 링크도 있습니다. 1) http://stackoverflow.com/questions/1404268/keyword-not-supported-data-source?rq=1 2) http://stackoverflow.com/questions/9236554/keyword-not-supported-name?rq = 1 –

+0

3) http://stackoverflow.com/questions/41647501/connectionstring-keyword-not-supported?rq=1 4) http://stackoverflow.com/questions/33599853/the-connection-does-not- support-multipleactiveresultsets-in-being-in-connec-rq = 1 5) http://stackoverflow.com/questions/41483766/databinding-keyword-not-supported-metadata?rq=1 –

답변

0

MultipleActiveRe sultSets의 기본값은 False입니다 : 여기

또한 코드 숨김입니다.

그리고이 기능이 필요하지 않은 경우 연결 문자열의 'MultipleActiveRe sultSets = False'를 꺼내십시오 (삭제).

기본값은 false이기 때문에. 거짓을 원한다면 의도적으로 작성할 필요가 없습니다.

첫 번째 SQL 연결의 SqlDataReader 루프에서 두 번째 SQL 연결을 열면 MultipleActiveRe sultSets 함수가 필요합니다.

그러나 'MultipleActiveRe sultSets = False'가 잘못된 구문으로 인식되는 이유는 여전히 질문입니다.

업데이트

그래서 내가 왜 그것이 틀렸는 지 궁금했습니다. MultipleActiveRe sultSets 및 Encrypt 구문에 문제가없는 것 같아요. 추천 당신과

<connectionStrings> 
    <add name="GreenLeaf" connectionString="Server=tcp:greentree.database.secure.windows.net,1433;Database=greentea;User [email protected];Password=abc123;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;MultipleActiveResultSets=True;"/> 
</connectionStrings> 

차이점은,

1) TCP 2) 보안 3) @greentree (ID와 함께 서버 이름 그린 트리 : 여기

가있는 Web.Config 내를 ConnectionString 인 (녹색 사용자 @ greentree) 4) 공급자 없음

'보안'은 Azure가 자동으로 보안 연결을 제공하고 인터넷에서이 항목을 찾을 수있는 새로운 기능입니다.

서버의 방화벽을 확인하고 위의 점을 명기하십시오.

관리자 ID를 사용하는 것이 정확하지만 보안면에서 제한된 역할 및 권한을 가진 외부 사용자에 대해 추가 로그인 및 사용자를 만들어야합니다.

Azure Portal을 통해 Azure Server (데이터베이스)에 연결할 수 있습니까? 비주얼 스튜디오? 서버 관리 스튜디오?

Server Management Studio에 들어가면 연결 팝업에서 에 '서버 이름'이 있습니다. 'greentree.database.windows.net'을 입력하고 관리자 자격으로 로그인하십시오.

Web.Config에서는 connectionString없이 Azure Server에 연결할 수 있지만 일반 코드로 연결할 수 있습니까?

그리고 가능한 경우 텍스트가 아닌 예외의 화면 캡처로 업데이트하십시오.

그리고 마지막으로, 잘 알고있을 것입니다. 보안을 위해 나중에 connectionString을 암호화해야합니다.

+0

안녕하세요 @ 케이 리, 제거했습니다. 'MultipleActiveResultSets = False'를 연결 문자열에서 찾았지만 여전히 같은 오류가 나타납니다. 그러나 이번에는 _Encrypt_입니다. 따라서 어떤 이유로 인해이 오류는 연결 문자열 내의 암호 다음에 발생합니다. 추가 정보가 있습니까? – user7554035

+0

안녕하세요, 지금 연결 문자열이 위와 같이 보이도록 업데이트하여 작동하는지 확인하겠습니다. SQL Server 인증 로그인으로 SQL Server Management Studio에서 내 데이터베이스에 로그인 할 수 있습니다. 그러나 연결 문자열에 동일한 로그인 세부 정보를 입력하면 오류가 발생합니다. – user7554035

+0

Visual Stuio 또는 Server Management Studio에서 자동으로 생성되는 connectionString을 사용합니다. 비슷한 경우를 살펴보십시오. –

0

"MultipleActiveResultsSets"를 잘못 입력했습니다. 그 안에있는 "결과"는 복수가 아닙니다.

올바른 방법 : "MultipleActiveResultSets".