2012-07-31 33 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连接字符串。下面是我的SQLXMLBulkLoad连接字符串的例子:

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

我也尝试手动重新注册的服务器上的sqloledb.dll。

有什么建议吗?

+1

'TCP IP'协议已启用远程可访问性? – 2012-07-31 13:52:19

+0

是的。这是我们报告运行的主要产品服务器,有些甚至是每小时一次。我不认为议定书会成为问题,但我会检查。 – 2012-07-31 13:55:44

+0

我刚刚证实为远程可访问性启用了TCP/IP协议。还有什么建议? – 2012-07-31 14:01:47

回答

1

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

相关问题