2010-07-09 55 views
1

如何解决这个错误SQL Server Provider?

消息7308,级别16,状态1,行1 OLE DB提供程序 'Microsoft.Jet.OLEDB.4.0' 不能用于分布式查询 因为 的提供者是配置为在 单线程单元模式下运行。

+3

嗨,杰,欢迎来到堆栈溢出!不幸的是,从您提供的描述中,没有足够的信息来诊断您的问题。您必须更具体一些,告诉我们您在发生错误时想要做什么,以及您认为相关的任何其他信息。 – 2010-07-09 06:07:10

+1

什么版本的SQL Server?它是64位(SQL Server和操作系统)? – gbn 2010-07-09 06:09:51

+0

SQL Server 2008和64位,Windows 7 我将sql server数据导出为ex​​cel – jay 2010-07-10 08:30:34

回答

1

我只是对此做了一些研究。这里的描述错误,并提供了一个基本的分辨率MSDN文章:

http://msdn.microsoft.com/en-us/library/cc645919.aspx

信息什么单线程和多线程的公寓:

Single-Threaded Apartments vs Multi-Threaded Apartments

这是一个网页,有人有问题和一些可能的解决方案已发布:

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=119887

从我刚刚完成的研究中,您可能试图连接到可能运行Oracle的链接服务器。您需要使用不同的提供商才能连接到它。这是基于你提供的,以及我发现的。

0

我猜你正在使用一个Access数据库,并且你正试图运行一个查询,该查询在Access数据库和基于服务器的系统(如SQL或Oracle)之间进行连接。事情是行不通的(你看过错误信息)。要使数据库能够处理跨两个或更多独立系统的查询,它需要支持某种分布式事务支持,而这不是Access。

我认为最好的解决方案是将数据从Access迁移到SQL,反之亦然。