2009-02-26 3 views
0

Ado.net 학습을 배우기 시작했고 조금 어려움에 처했습니다.SqlConnection.RetrieveStatistics()가 컬렉션을 채우지 않습니다. (StatisticsEnabled를 true로 설정했습니다.)

1) SqlConnection.StatisticsEnabled 속성을 통해 연결 통계를 활성화하면 SqlConnection 인스턴스가 수행하는 작업에 대한 다양한 정보 (RetrieveStatistics()를 통해)를 검색 할 수 있어야합니다. 따라서 아래 코드를 호출하기 전에 이미 연결을 열고 데이터베이스에서 일부 값을 검색했습니다. 그런 식으로 통계는 명령 수행 방법에 대한 정보를 제공해야합니다. 그러나 컬렉션에서 검색된 모든 값은 문자 0을 반환합니다 (문자열로 변환 될 때). 왜 그런지 알기나 해? 일부 PC를 가정

   ... 
sc.StatisticsEnabled = true; 
IDictionary statistic = sc.RetrieveStatistics(); 
Label1.Text = statistic["BytesReceived"].ToString(); //Label1.Text displays 
                 character”0” 

2) 어떤 이름은 당신이 두 서버 중 하나를 지정합니다() 연결 문자열에서 사용하는 것, 두 개의 SQL 서버 (MySQL 서버 및 MS SQL 서버)를 실행?

+0

서버에서 통계를 활성화합니까? – leppie

+0

sc.StatisticsEnabled = true 인 경우 그렇다. –

답변

0

내가 할 수있는 MSSQLConnectionString [프로그램 응용] 같은 말을하는 것처럼 내가 사용한 적이 없으므로 통계 질문에 답할 수 있지만 ConnectionString의 경우 다른 연결 개체를 사용해야합니다.

예를 들어, SQLConnection 개체를 사용하여 MySQL 데이터베이스에 연결할 수 없습니다. MySQLConnection 객체 (link)를 사용해야합니다. 다른 연결 문자열 옵션 here에 대한 정보를 얻을 수 있습니다.

단일 컴퓨터에 여러 SQL 서버를 가질 수 있으며 별 문제가되지 않습니다. 그들은 모두 다른 TCP 포트를 사용합니다 (SQL 1433, MySQL 3306).

+0

안녕 음, 나는 완전히 다른 데이터 공급자를 사용하여 다른 SQL 서버에 대해 잊어 버렸습니다! 그래서 PC에서 여러 개의 MS SQL 서버를 실행 중이라고 가정 할 때 가장 좋은 옵션은 연결 문자열에서 특정 MS SQL 서버가 사용하는 TCP 포트를 지정하는 것입니다! 고맙습니다. –

0

나는 당신이 제공 한 당신 코드를 기반으로 말할 수는 없지만, 내 최초의 아이디어는 당신이 연결을 여는되지 않는다는 것입니다 감사합니다.

지금까지 두 개의 연결 문자열을해야 할 것하고는 동일한 상자에 있다면 당신은 두 번째 질문, 나는 아마 MySQLConnectionString 및 [프로그램 응용] '

관련 문제