使用 SQL 凭据通过 OpenRowSet 打开文件

2023-12-31

我正在尝试运行以下语句:

INSERT INTO table SELECT * FROM 
OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;
Database=//server/folder/file.xls;
HDR=YES;',
'SELECT * FROM [Sheet1$]')

但是,我收到以下错误:

OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "The Microsoft Access database engine cannot open or write to the file '\\server\folder\file.xls'. It is already opened exclusively by another user, or you need permission to view and write its data.".

Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".

我在 32 位计算机上运行 SQL Server 2005。正在执行的代码最终将来自 IIS6 Web 服务器上的 C# 代码。然而,目前我只是想让它在 SQL Server 上运行。我使用 SQL Auth 登录到 SQL Server,但必须使用特定于共享驱动器(我们网络上的 AD 帐户)的 Windows Auth 来访问该文件。已向 SQL Auth 帐户授予临时权限,以便允许OPENROWSET.

我尝试过添加UID=user;PASS=pswd进入OPENROWSET代码如下:

INSERT INTO table SELECT * FROM 
    OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0;
    Database=//server/folder/file.xls;
    HDR=YES;
UID=user;
PASS=pswd',
    'SELECT * FROM [Sheet1$]')

这产生了同样的错误。我还设置了一个SQLCREDENTIAL使用有权访问该共享驱动器的 Windows 身份验证 Active Directory 帐户的用户 ID 和通行证,但错误仍然存​​在。

我考虑过使用代理,但这不是 sql server 代理作业。这是一个临时呼叫。

我还使用具有共享权限的用户使用 Windows Auth 登录到 SQL Server,并收到相同的错误。

我对此进行了很多研究,但似乎找不到有效的答案。通过我的搜索,这似乎是很多人都遇到的问题。任何帮助将不胜感激。我很困惑。


我非常确定,当您使用 OpenRowSet 时,需要访问该文件的是 SQL Server 的服务用户。

由于您似乎正在尝试访问另一台服务器上的文件,因此如果 SQL 服务器作为本地系统或其他本地用户帐户运行,则使其正常工作可能是一个挑战。

我已经多次解决了这个问题,方法是更改​​ SQL 服务器以 AD 用户身份运行(具有安全隐患),然后授予该用户对网络上文件的访问权限,或者放置外部文件(在本例中为 Excel )与 SQL 服务器位于同一台计算机上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SQL 凭据通过 OpenRowSet 打开文件 的相关文章

  • Id 或 [TableName]Id 作为主键/实体标识符

    是否首选使用 Id 作为主键的列名或 TableName Id 作为命名约定 表 账户主键 ID 相对 表 账户主键 AccountId 在我见过的实现中 它似乎分为 50 50 左右 每种方法的优点和缺点是什么 跟进 在我的数据库中使用一
  • SQL SERVER 中的排序依据和大小写

    我需要在存储过程中按功能排序 一个值被发布到网络服务 并且基于该值我必须以某种方式对结果进行排序 即 当 ColName 按 ColName 发布订单时 当 ColName2 由 ColName2 发布订单时 我正在研究使用 Case 但出
  • 递归 SQL 给出 ORA-01790

    使用 Oracle 11g 第 2 版 以下查询给出 ORA 01790 表达式必须与相应表达式具有相同的数据类型 with intervals time interval AS select trunc systimestamp from
  • PHP PDO相关:更新SQL语句未更新数据库内容

    我正在尝试使用准备好的语句来实现更新语句PHP http en wikipedia org wiki PHP脚本 但它似乎没有更新数据库中的记录 我不确定为什么 所以如果您能分享一些见解 我将不胜感激 Code query UPDATE D
  • Oracle 中的 SQL 调优 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何文章 链接可以让我找到 SQL 调优 Oracle 的示例 如果能用例子来解释那就太好了 我需
  • sql查询将两列与一列连接起来

    我在 MS Access 2010 中有 2 个表 如下所示 USERS u id u name LOAN l id l from ref users u id l to ref users u id l amount Users u id
  • 查询中列的顺序重要吗?

    当从 MySQL 表中选择列时 与表中的顺序相比 选择列的顺序是否会影响性能 不考虑可能覆盖列的索引 例如 您有一个包含行 uid name bday 的表 并且有以下查询 SELECT uid name bday FROM table M
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • SQL Server 用分隔符分割字符串

    我有一个输入字符串 100 2 3 101 2 1 103 2 3 我想解析它并将其添加到具有 3 列的表中 因此它应该是 f x col1 col2 col3 100 2 3 类似的其他数据以逗号分隔作为记录和 作为列 Thanks ni
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 使用 JSON 参数的 Postgres 批量 INSERT 函数

    这是一个plpgsqlpostgres 的函数9 6 它试图INSERT一行 如果插入没有失败 由于违反键约束 那么它会运行更多命令 CREATE FUNCTION foo int text text RETURNS void AS BEG
  • 插入触发器最终在分区表中插入重复行

    我有一个分区表 我认为 适当的INSERT触发器和一些限制 不知何故 INSERT语句为每个语句插入 2 行INSERT 一个用于父分区 一个用于相应的分区 设置简要如下 CREATE TABLE foo id SERIAL NOT NUL
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • 独立对列进行排序,使得所有空值都位于每列的最后

    这是一个名为的示例表animal name color fox brown fox red dog gold 现在 我想要的是这样的结果 fox dog brown gold red 名称应该是结果的列 不同颜色值作为行 我的第一个想法是
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 如何在 PostgreSQL 中使用具有多个值的 SQL LIKE 条件?

    有没有更短的方法来查找多个匹配项 SELECT from table WHERE column LIKE AAA OR column LIKE BBB OR column LIKE CCC 这个问题适用于 PostgreSQL 9 1 但如
  • 是否有适用于所有数据库的标准sql

    如下所示 不同数据库的语法有所不同 是否存在适用于所有数据库的标准方法 有没有什么工具可以将任意sql转换为任意sql SQL Server 2005 CREATE TABLE Table01 Field01 int primary key
  • 如何从 PostgreSQL 中的时间戳列值提取一天中的时间(或小时)?

    我正在尝试从 PostgreSQL 中的 时间戳 列中提取一天中的时间 这是我的做法 但是 太糟糕了 知道如何做得更好吗 SELECT date part hour date demande text hours date part min
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • 评估 CRC-32 实现中的差异

    我见过相同基本 CRC 32 算法的许多不同实现 如下所示 int remain int sbox SIZESBOX int dividend int bit for dividend 0 dividend lt SIZESBOX divi

随机推荐

  • Apache HttpClient 4.5:连接重置

    我正在使用 httpClient 版本 4 5 来连接我们的外部供应商站点 我们不需要任何连接池或持久连接 因此我使用 BasicHttpClientConnectionManager 来创建 HttpClient 这对于最少数量的请求来说
  • 如何修复 Python 中的 ValueError: Too much value to unpack”?

    我正在尝试使用文本文件 out3 txt 的内容填充字典 我的文本文件的形式为 vs 14100 mln 11491 the 7973 cts 7757 等等 我想要我的字典answer其形式为 answer vs 14100 answer
  • 如何使用AFNetworking 3.0下载文件并保存到本地?

    在我的项目中 我需要下载一个小视频 在之前的版本中 我使用的是 void downloadFileURL NSString aUrl savePath NSString aSavePath fileName NSString aFileNa
  • Linux调度程序如何在多核处理器上调度进程?

    多核处理器利用线程级并行性 这意味着多个线程并行运行 假设一个进程只有一个线程 那么在该进程执行过程中 其他核心是否保持空闲状态 在Linux系统中 调度程序将进程和线程都视为一个任务 它在调度时不区分进程和线程 那么 这是否意味着不同的核
  • 从 U3 dtype 到 ascii 的转换

    我正在从 mat 文件读取数据 数据采用 numpy 数组的形式 array u ABT dtype
  • 列出磁盘上的所有分区[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在用 C 为 Windows 不支持的文件系统创建一个实用程序 这意味着我不能只访问驱动器 我需要
  • Android API级别30,无法再从Android arp表获取wifi网络设备MAC地址

    我有一个小型网络扫描仪应用程序 它需要查找响应 ping 等的扫描设备的 MAC 地址 很快 Google 需要 targetSdkVersion 30 这意味着在没有响应的情况下无法再以任何方式访问 arp 表 没有权限 以前我用过 bu
  • 错误:您的要求无法解析为一组可安装的软件包。(在服务器上)

    我的项目使用 laravel 5 3 现在我正在将其设置到服务器 这样做时出现了问题 我陷入了这个错误点 当我跑步时 作曲家安装 no dev 命令出现以下错误 Problem 1 Installation request for fgro
  • 在 IE9 中使用 cookie 发出 CORS 请求?

    在 IE9 中 我尝试使用 cookie 发出跨源请求 但是 即使我将 Access Control Allow Origin Access Control Allow Credentials Access Control Allow Me
  • 从 Excel 导出注释

    有没有办法从 Excel 工作表中导出注释以及单元格值 以下是返回工作表中所有注释的函数示例 Sub CreateCommentsSummary Dim rgComments As Range rgCell As Range rgOutpu
  • Xcode 9 - 链接器命令失败,退出代码为 1

    编译应用程序时出现以下错误 使用比以前的文件 4 0 旧版本的 Swift 语言 3 0 编译的文件 请你帮助我好吗 使用 xcworkspace 来构建而不是 xcproject 当使用 Cocoapods 并且您从 xcproject
  • 如何自动发现 WCF 服务?

    有没有办法自动发现网络中特定的 WCF 服务 如果可能的话 我不想用地址配置我的客户端 是的 有一种自动发现服务的方法 NET 4 0 包含一个称为 WCF Discovery 的功能 它基于 WS Discovery 协议 这里有一个显示
  • sed -i 选项有什么作用?

    我正在调试 shell 脚本并尝试找出以下命令执行的任务 sed i 1 999d home org user data txt 我需要更改此命令 因为它失败并出现以下错误 illegal option sed i 但在更改之前 我需要了解
  • 在 Laravel 中动态使用模型

    在我的 laravel 项目中 我创建了一个控制器 用于从调用同一控制器的所有刀片中删除项目 通过传递动态 id 和模型名称 但显示找不到类的错误 例如 未找到 用户 类 如何添加使用用户 动态地在我的控制器中编写代码 namespace
  • 如何设置 hy 项目以便可以使用 pytest 进行测试

    我正在尝试使用 pytest 测试 hy 项目 但 pytest 发现我的测试时遇到问题 需要做什么才能让 pytest 能够获取用 hy 编写的测试 我假设测试可以用 hy 编写并由 pytest 发现 因为native tests主要
  • Akka-http中获取客户端IP

    我正在尝试编写一个 Akka HTTP 微服务 akka 版本 2 4 11 Scala 版本 2 11 8 在撰写本文时都是最新版本 它知道客户端服务的 IP 即远程地址 但我无法得到这个上班 我可以创建并运行一个显示 Hello 的服务
  • 我将如何设计客户端队列系统?

    OVERVIEW 我正在开发一个项目 但遇到了一些问题 因为事情没有按照我希望的顺序发生 所以我一直在考虑设计某种队列 我可以用它来组织启动期间 即页面加载时 使用的函数调用和其他各种 JavaScript jQuery 指令 我正在寻找的
  • 使用SASS/SCSS生成CSS变量

    我目前正在使用 SCSS 尝试重新创建 CSS 块 CSS 块如下 root Franklin Blue 1d1c4d Light Blue 4e5d94 Pale Blue 7289da Pure White ffffff VLight
  • IIS 和 ASP.Net Web 开发服务器之间的行为差​​异?

    在开发过程中 我通常使用 Web 开发服务器 有时称为 Cassini 测试 ASP Net 应用程序 有时 当我发布到真实的 IIS 环境时 我注意到应用程序的行为有所不同 那么 生产 IIS 服务器和 ASP Net Web 开发服务器
  • 使用 SQL 凭据通过 OpenRowSet 打开文件

    我正在尝试运行以下语句 INSERT INTO table SELECT FROM OPENROWSET Microsoft ACE OLEDB 12 0 Excel 12 0 Database server folder file xls