2012-07-31 7 views
1

나는이 정보를 미리 알려 주신 모든 사람에게 감사드립니다. SQLXMLBulkLoad4 클래스를 사용하여 xml 파일을 준비 테이블에 대량로드 한 다음 저장 프로 시저를 사용하여이 데이터로 프로덕션 테이블을 업데이트하는 프로그램을 개발했습니다. 여기가 우리가 잃어버린 곳입니다. 모두 내 개발 컴퓨터에서 매우 잘 작동하지만 필요한 모든 항목을 이동하고 올바른 .dll 파일을 프로덕션 서버에 설치/등록한 후에 SqlBulkLoad 오류 로그에 치명적인 오류가 발생합니다. 다음은 로그 텍스트 (xml 형식)입니다.SQLXMLBulkLoad 프로그램을 프로덕션 서버로 옮겼습니다. 이제 잘못된 연결 문자열 오류가 발생합니다.

<?xml version="1.0"?> 
<Result State="FAILED"> 
    <Error> 
     <HResult>0x80040154I32</HResult> 
     <Description><![CDATA[Invalid connection string.]]></Description> 
     <Source>XML BulkLoad for SQL Server</Source> 
     <Type>FATAL</Type> 
    </Error> 
</Result> 

갑자기이 오류가 나타나는 동안 나는 이해하지 못합니다. 다른 연결 문자열 유형을 사용해 보았습니다. SqlXmlBulkLoad4 클래스를 사용하면 OLEDB 연결 문자열이 필요하다는 것을 이해합니다. 나는 또한 수동으로 다시 서버에 SQLOLEDB.DLL 등록을 시도했다

<add key="ServerNameBulkLoad" value="Provider=SQLNCLI10;Server=ServerName;Database=DBName;Trusted_Connection=Yes;"/> 

: 여기에 SQLXMLBulkLoad 내 연결 문자열의 예입니다.

제안 사항?

+1

'TCP IP' 프로토콜이 원격 접근성을 위해 활성화되어 있습니까? –

+0

예. 이것은 우리의 보고서가 실행되는 주요 제품 서버입니다. 매시간마다 실행됩니다. 의정서가 문제가 될 것이라고 나는 생각하지 않지만 나는 그것에 대해 조사 할 것입니다. –

+0

방금 ​​원격 액세스 가능성을 위해 TCP/IP 프로토콜을 사용할 수 있는지 확인했습니다. 더 이상의 제안? –

답변

1

좋아, 연결 문자열 (감사합니다 www.connectionstrings.com 감사합니다)의 무리를 테스트 한 후 마침내 내 문제에 대한 해결책을 발견하고 실제로 연결 문자열을했다. 프로덕션 서버의 사용률에 대한 올바른 연결 문자열은 SQLNCLI10 대신 Provider = SQLOLEDB.1을 제외하고는 위와 같습니다. 저는 이것이 프로그램이 실행되고있는 서버와 관련이 있다고 생각합니다. 음, 오래된 법령을 말하자. 더 적은 것, 문제 해결. 도움을 주신 RGI에게 감사드립니다!