1

我要感谢任何对此提前提出意见的人。我开发了一个程序,它使用 SQLXMLBulkLoad4 类将 xml 文件批量加载到临时表,然后使用存储过程用这些数据更新生产表。这是我们不知所措的地方。在我的开发计算机上,一切都运行得非常好,但是,在移动所有必要的项目并将正确的 .dll 文件安装/注册到生产服务器之后,我在 SqlBulkLoad 错误日志中收到了一个致命错误。这是日志的文本(在 xml 中):

 <?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 连接字符串。这是我的 SQLXMLBulkLoad 连接字符串示例:

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

我还尝试再次在服务器上手动注册 sqloledb.dll。

有什么建议么?

4

1 回答 1

1

好吧,在测试了一堆连接字符串之后(感谢www.connectionstrings.com),我终于找到了解决问题的方法,实际上是连接字符串。正确的连接字符串(用于生产服务器上的使用)与上面相同,除了 Provider=SQLOLEDB.1 而不是 SQLNCLI10。我相信这与程序正在运行的服务器有关,好吧,让我们说一下旧法规。总之,问题解决了。感谢 RGI 的帮助!

于 2012-07-31T14:17:01.867 回答