有一个有趣的问题。我正在通过Sql2005中的OpenRowset从服务器上的Excel文件中读取。我已经多次运行查询,没有任何问题。我刚刚出去开会,突然出现错误“无法为链接服务器“(null)”初始化OLE DB提供程序“ MSDASQL”的数据源对象”
我已经确定文件没有在服务器上使用,甚至删除了它们并将它们重新复制到服务器上,但仍然遇到相同的错误。
更新:这似乎只有在我加入来自不同openrowsets的两个选择时才会发生。如果我单独运行查询,它们仍然可以正常工作。我之前完成了加入,没有任何问题。有想法吗?
出现问题是因为在运行查询的凭据下无法访问运行SQL Server服务的用户的Temp文件夹。尝试以最小的限制来设置此临时文件夹的安全性。每次您运行openrowset查询时创建的dsn都可以重新创建,而不会发生任何凭证冲突。这对我有用,没有任何重新启动要求。