sql - 存储过程中的 Openrowset 给出传输级错误
问题描述
GO
CREATE PROCEDURE sp_UploadExcel
@Path VARCHAR(MAX) = NULL
AS
BEGIN
DECLARE @sql varchar(MAX);
SET @sql = 'INSERT INTO TABLE SELECT * FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'',
''Excel 12.0; Database='+@Path+''',[Data$]);';
EXEC (@sql);
END
GO
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
EXEC sp_UploadExcel @Path = 'path\file.xlsx'
得到
从服务器接收结果时发生传输级错误。(提供者:共享内存提供者,错误:0 - 管道已结束。)
服务停止
如果需要,这里是连接字符串:
服务器=localhost\MSSQLSERVER02;数据库=master;Trusted_Connection=True;
被困在这几个小时,任何信息将不胜感激
解决方案
推荐阅读
- reactjs - 登录后如何重定向到 ReactJs 中的另一个页面
- gitlab-ci - 如何配置 Gitlab-CI 服务?
- google-cloud-platform - 使用 Cypress 测试网站,但无法通过 google 2 因素身份验证
- c# - 如何在 WPF 应用程序中使用来自 ole32.dll 的游标?
- powershell - 如果结果与字符串匹配,如何从 PowerShell 获得真/假结果?
- python - ValueError:形状必须为 4 级,但对于 '{{node Conv2D_5}} 为 0 级,tf.nn.conv2d
- mysql - 从连接的 mysql 5.X 表中的每一行中至少获取最后 2 行
- web - twitter.com 如何使 JPEG 个人资料图像透明?
- javascript - 创建一个函数来打印带有 Jprompt 的答案
- gitlab - MR 打开时只运行一次 Gitlab CI 作业