我要感谢任何提前对此提出意见的人。我开发了一个程序,它使用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。
有什么建议吗?
答案 0 :(得分:1)
好吧,在测试了一堆连接字符串后(感谢www.connectionstrings.com)我终于找到了我的问题的解决方案,它实际上是连接字符串。正确的连接字符串(在生产服务器上使用)与上面相同,但Provider = SQLOLEDB.1而不是SQLNCLI10除外。我相信这与程序运行的服务器有关,好吧,我们只说更旧的法规。然而,问题解决了。感谢RGI的帮助!