相关疑难解决方法(0)

如何启用Ad Hoc Distributed Queries

当我OPENROWSET在SQL Server 2000中运行查询时它工作.

但是SQL Server 2008中的相同查询会生成以下错误:

SQL Server阻止访问组件"Ad Hoc Distributed Queries"的STATEMENT"OpenRowset/OpenDatasource",因为此组件已作为此服务器的安全配置的一部分关闭.系统管理员可以使用sp_configure启用"Ad Hoc Distributed Queries"

sql sql-server-2008

97
推荐指数
3
解决办法
19万
查看次数

无法为链接服务器null创建OLE DB提供程序Microsoft.Jet.OLEDB.4.0的实例

我试图从我的Table数据导出到Excel通过T-SQL查询.经过一些研究,我想出了这个

INSERT INTO OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 
                        'Excel 8.0;Database=G:\Test.xls;', 
                        'SELECT * FROM [Sheet1$]') 
SELECT * 
FROM   dbo.products 
Run Code Online (Sandbox Code Playgroud)

当我执行上述查询时出现此错误

消息7302,级别16,状态1,行7无法为链接服务器"(null)"创建OLE DB提供程序"Microsoft.Jet.OLEDB.4.0"的实例.

所以通过互联网寻求解决方案,得到以下链接

https://blogs.msdn.microsoft.com/spike/2008/07/23/ole-db-provider-microsoft-jet-oledb-4-0-for-linked-server-null-returned-message-unspecified-错误/

在上面的链接中,他们说我们需要管理员在C盘 TEMP文件夹中创建文件夹,因为在文件夹中OPENROWSET创建了一些文件或文件TEMP

我在My Home PC中这样做,我是管理员.仍然得到同样的错误.

SQL SERVER详细信息

Microsoft SQL Server 2016(RC1) - 13.0.1200.242(X64)2016年3月10日16:49:45版权所有(c)Windows 10 Pro 6.3上的Microsoft Corporation企业评估版(64位)(Build 10586 :)

任何解决问题的指针都将受到高度赞赏

更新:我已经配置了Ad Hoc Distributed Queries

执行以下查询

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0', N'AllowInProcess', 1
GO 
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0', N'DynamicParameters', 1
GO 
Run Code Online (Sandbox Code Playgroud)

现在我收到了这个错误

消息7438,级别16,状态1,行7 32位OLE DB提供程序"Microsoft.Jet.OLEDB.4.0"无法在64位SQL Server上进行加载.

sql sql-server export-to-excel openrowset

27
推荐指数
1
解决办法
8万
查看次数

使用WHERE子句的文本文件输入

我有一个文本文件中的员工名单.

我不是一个一个地搜索每个名字,而是想搜索我的数据库一次,查找文本文件的所有名称.就像是:

select emplayeeID, Salary from employees where employee-name in "C:\myfile.txt"
Run Code Online (Sandbox Code Playgroud)

可能吗?如果是,那么它的SQL命令是什么?谢谢.

sql t-sql

9
推荐指数
2
解决办法
4万
查看次数