询问者
openrowset在存储过程直接运行可以,在UI-BLL-DAL则提示Ad Hoc Distributed Queries??--在线等

问题
-
//--存储过程代码
INSERT INTO test(tID,sName,pwd)
SELECT [col1],[col2],dbo.fnPwdToMD5(3) FROM OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:\Info.xls', 'select * from [Sheet1$]')
//--errorCode:-----------------------
行 2492: Dim returnValue As Object
行 2493: Try
行 2494: returnValue = command.ExecuteScalar
行 2495: Finally
行 2496: If (previousConnectionState = System.Data.ConnectionState.Closed) Then
设置了Ad Hoc Distributed Queries
也不行??
为什么??
直接运行存储过程没问题,在BLL调用就错误??
我用的是SQLEXPRESS- 已编辑 Herolzx 2010年2月5日 14:40
- 已移动 Sheng Jiang 蒋晟Moderator 2010年2月12日 0:04 System.Data (发件人:ASP.NET 与 AJAX)
全部回复
-
大哥!!!给我做主!!!
我已经将 'Ad Hoc Distributed Queries'打开了 ,就是不行,直接运行存储过程没有问题(:
windowsXP Pro+VS2005+SQLEXPRESS2005
感觉代码简单,否则要打开Excel数据,读取,插入....
而且容易出现数据类型错误,(数值,字符串同列)
错误如下:
“/”应用程序中的服务器错误。
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。