리소스에서 .NET Framework 2.0 데이터 테이블에서 데이터를 복사할 SqlBulkCopy 클래스를 사용할 때 오류 메시지: "System.InvalidOperationException: 대상 테이블의 열 데이터 정렬 정보를 얻을 수 없습니다."

기술 자료 번역 기술 자료 번역
기술 자료: 944389 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

Microsoft .NET Framework 2.0 응용 프로그램 System.Data.DataTable에서 데이터를 Microsoft SQL Server 테이블에 복사할 SqlBulkCopy 클래스를 사용합니다. 점 문자 (.) 테이블 이름이 포함된 경우 다음과 같은 오류 메시지가 나타날 수 있습니다.
처리되지 않은 System.InvalidOperationException.
메시지 = "대상 테이블의 열 데이터 정렬 정보를 얻을 수 없습니다. 데이터베이스 이름을 사용하여 이름을 정규화해야 합니다 현재 데이터베이스에 있는 테이블인 경우 (예: [mydb]..[mytable](예: [mydb]..[mytable]); 이것은 임시 테이블 (예: #mytable 같이 tempdb 지정할 수 있습니다.. 적용됩니다#mytable). "
Source="System.Data"

원인

문제가 있는 System.Data.dll 인해 이 문제가 파일.

해결 과정

이 문제를 해결하려면, 점 피할 수 (.) 문자는 표 이름.

테이블 이름에 점 (.) 문자를 사용해야 할 경우 사용할 점 문자 (.) SQL 명명 규칙 일부로. 예를 들어, 다음과 같은 테이블 이름을 사용하십시오.
server.database.schema입니다. tablename

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 Microsoft 제품에서 이 문제를 확인했습니다.

추가 정보

Windows Mobile 기반 스마트폰에 GPRS 연결이 구성되어 있는지 확인합니다

  1. Northwind 데이터베이스에서 다음 SQL 문을 실행할:
    select * into [test.33] where 1 = 0
    --Create a table named [test.33].
    
  2. C# 응용 프로그램을, 만들고 다음 코드를 실행합니다:
    static void Main(string[] args)
            {
                SqlConnection con = new SqlConnection("Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=.");
                con.Open();
                SqlConnection dst = new SqlConnection("Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=.");
                dst.Open();
                SqlCommand com = new SqlCommand("select * from customers", con);
                SqlDataReader dr = com.ExecuteReader();
                SqlBulkCopy sbc = new SqlBulkCopy(dst);
                sbc.DestinationTableName = "Northwind.dbo.[Test.33]";
                sbc.WriteToServer(dr); // The failure occurs here.
                dst.Close();
                con.Close();
            }
    

호출 스택 정보

at System.Data.SqlClient.SqlBulkCopy.AnalyzeTargetAndCreateUpdateBulkCommand(BulkCopySimpleResultSet internalResults)
       at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternal()
       at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer(Int32 columnCount)
       at System.Data.SqlClient.SqlBulkCopy.WriteToServer(IDataReader reader)

속성

기술 자료: 944389 - 마지막 검토: 2008년 1월 3일 목요일 - 수정: 2.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft .NET Framework 2.0
  • Microsoft .NET Framework 3.0
  • Microsoft .NET Framework 3.5
키워드:?
kbmt kbexpertiseadvanced kbtshoot kbprb KB944389 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com