SSIS를 사용하여 SQL Server에서 MySQL로 테이블을 전송하려고하는데 SQL Server 및 텍스트에서 varchar (max) 한 열에 오류가 있습니다. MySQL에. 지금까지 ODBC 데이터 흐름에 대한 OLE DB와 BCP를 ODBC 데이터 흐름에 대한 플랫 파일로 처리하려고 시도했습니다. 해당 필드는 SSIS에서 DT_TEXT로 구성됩니다. 두 경우 모두 다음과 같은 오류 집합이 생성됩니다.SSIS를 사용하여 SQL Server varchar (max)를 MySQL 텍스트로 전송할 수 없습니다.
[ODBC Destination [47]] Error: Open Database Connectivity (ODBC) error occurred.
SQLExecute returned error while inserting row 1
[ODBC Destination [47]] Error: Open Database Connectivity (ODBC) error occurred.
state: 'HYC00'. Native Error Code: 0. [MySQL][ODBC 5.2(a) Driver][mysqld-5.1.69-log]
Parameter arrays with data at execution are not supported
[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput
method on component "ODBC Destination" (47) failed with error code 0x80004005 while
processing input "ODBC Destination Input" (58). The identified component returned an
error from the ProcessInput method. The error is specific to the component, but the
error is fatal and will cause the Data Flow task to stop running. There may be error
messages posted before this with more information about the failure.
열을 무시하도록 선택하면 두 버전의 패키지가 정상적으로 실행됩니다.
이전에 openquery가있는 연결된 서버를 사용하여이 작업을 수행 했음에도 아무런 문제없이 작업했음을 알려드립니다. 그러나 성능 문제로 인해 연결된 서버에서 벗어나려고합니다.
업데이트 : 나는 SQL 서버 BCP out
다음에 MySQL LOAD DATA INFILE
을 사용하여 원하는 동작을 수행 할 수 있었지만 확실히 더 쉬운 방법이므로 SSIS 데이터 흐름을 사용하여이를 수행하는 방법을 알고있는 것이 좋습니다. 메모리에서 작동하기 때문에 더 빠르다.