gpt4 book ai didi

sql-server-2008 - 无法在 SQL Server 2008 R2 中使用 OPENROWSET 导入到 Excel

转载 作者:行者123 更新时间:2023-12-04 06:56:12 25 4
gpt4 key购买 nike

我必须将 Excel 模板复制到另一个文件夹才能导入数据。以下是我正在使用的两条 SQL 语句:

语句 1:

exec xp_cmdshell 'copy C:\inetpub\wwwroot\app_data\export_templates\myExport.xlsx C:\inetpub\wwwroot\app_data\tmp\myExport130301172218.xls'

陈述2:

insert into 
OPENROWSET('Microsoft.ACE.OLEDB.12.0'
, 'Excel 12.0;Database=C:\inetpub\wwwroot\app_data\tmp\myExport130301172218.xls;'
, 'SELECT * FROM [Sheet1$]')
SELECT * FROM vw_shrub

如果我单独执行上面的 SQL 语句,它们工作正常。但是如果我一起执行它们,它会引发以下错误:

OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "The Microsoft Access database engine could not find the object 'Sheet1$'. Make sure the object exists and that you spell its name and the path name correctly. If 'Sheet1$' is not a local object, check your network connection or contact the server administrator.".

Msg 7350, Level 16, State 2, Line 2
Cannot get the column information from OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".

问题是我想将它们作为单个请求从我的应用程序中传递。因此,我必须一起执行它们。我发现如果我在它们之间添加 GO,我可以在 Management Studio 中一起执行它们。但是当我从我的应用程序传递请求时,我不能使用 GO。

最佳答案

另一种方法是将这两行分为 SQL Server 代理作业中的两个不同步骤,并使用一条指令执行:

sp_start_job nameOfYourJob

工作的两个步骤就像中间有一个 GO。

关于sql-server-2008 - 无法在 SQL Server 2008 R2 中使用 OPENROWSET 导入到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com