우리 소프트웨어가 (고객 사이트) 터키의 Window Server 2008 R2 Foundation에 설치되었습니다 (로케일이 터키어로 설정되어 있으므로 모든 메뉴와 메시지가 터키어로 표시됩니다). 우리는 SQL 서버 2005 익스프레스를 사용하고 있습니다. 데이터베이스 정렬은 SQL_Latin1_General_CP1_CI_AI
입니다 (다른 영어로 설치된 사이트에서도 마찬가지 임).터키어 Window 서버 2008 년 installtion에서 DataRow.Item() ArgumentException
우리의 코드는 간단한 쿼리와 데이터베이스를 쿼리 : select * form tableName where callid='variable'
(callid 그러나 데이터베이스의 열 이름이 CallID이며, 우리의 기본 키 열 유형이 varchar(60)
이다), 우리의 유형이 지정되지 않은 DataSet
을 채우기 위해 SqlDataAdapter.Fill()
방법을 사용하여.
DataSet.Tables[0].Rows[0]
에서 DataRow
개체를 산출합니다. 이 DataRow
객체를 다른 메소드에 전달하고 DataRow.Item (String)을 사용하여 열 값을 가져옵니다. 우리는 이러한 방식으로 값을 얻는 몇 개의 컬럼을 문제없이 가지고 있습니다. 그러나 하나 개의 특정 컬럼에 대해 우리는
ArgumentException: <column name> column does not belong to table Table
이 열은 우리의 callid 열입니다 얻을! 데이터베이스의 열 이름을 callid 또는 CalliD로 변경하면 예외가 발생하지 않습니다. 나는 Introduce the Turkish I issue이라고 불리는이 기사를 보았고 기사 주소가 콜레 션 = TURKISH_CI_AS 일 때 그 문제를 이해했다.
무엇이 여기에 있습니까? 도움이되는 의견을 보내 주시면 감사하겠습니다.
덕분에, 일란
열 이름을 *로 변경했을 때 callid '또는'CalliD' 작동 - 지금은 무엇입니까? –
@JonSkeet 질문에서 언급 한 내용 - CallID –
감사합니다. 왜 내가 전에 그것을 볼 수 없었는지 확신 할 수 없습니다. 나는 이것이 * 터키어 내가 문제 "- 그냥 데이터베이스 쪽이 아니야. –