首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SSIS:通过Server代理作业访问Sharepoint UNC

SSIS:通过Server代理作业访问Sharepoint UNC
EN

Stack Overflow用户
提问于 2020-08-27 07:15:24
回答 1查看 537关注 0票数 0

我有一个SSIS包连接,连接到Sharepoint站点w/ a UNC路径,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\\[Site URL]\DavWWWRoot\sites\DTS_BURM\DARBenchmarks\FileName.csv

我的包读取文件并将其导入到SQL中。这个过程在VS中工作得很好。但是,如果我想在作业中从Server代理运行包,它将向我提供以下错误:

URL\DavWWWRoot\sites\DTS_BURM\DARBenchmarks\FileName.csv".导入原始数据:

:无法打开“”站点

起初,这对我来说是很明显的。运行SQL作业的帐户无权访问SharePoint。因此,我向凭据文件夹添加了一个Service帐户,然后使用这些凭据为Server代理创建代理。此外,我还将该服务帐户作为所有者添加到SharePoint中,以便它具有读/写权限。

即使在这一切之后,我仍然收到一个错误,说明它“无法打开数据文件”。我不知道我还能做些什么,如果有人有建议,我会非常感激的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 12:45:27

正如我在评论中提到的那样,当部署到服务器时,我们在使用SharePoint UNC和SSIS方面没有太大的运气或稳定性。最后,我们在代理作业步骤中使用一个PowerShell脚本在SSIS步骤之前下载本地文件。

这只适用于Server 2014或更高版本,因为代理使用的PowerShell版本和需要安装SharePoint模块。

您将需要SQL服务器的管理权限,或者谁来管理它,以便以Administrator.的形式登录并运行PowerShell

然后,

  1. 以“是”的形式运行以下命令,对任何提示:

安装-模块SharePointPnPPowerShellOnline

  1. 如果在连接关闭或无法通信的情况下运行该命令时出错,则可能与PowerShell中未启用的Tls12相关。运行以下命令以启用Tls12协议:

Net.ServicePointManager::SecurityProtocol =Net.SecurityProtocolType::Tls12

然后,

  1. 重新运行“安装模块SharePointPnPPowerShellOnline”,它现在应该成功了。

一旦您完成了该操作,我们将专门为此设置一个服务帐户,并发现该帐户需要与您正在下载文件的SharePoint站点的“站点所有者”组分开。

然后使用以下代码添加PowerShell代理作业步骤,以下载SSIS的本地文件。更新您的环境。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$SharepointBaseURL = "https://yoursharepoint.com/sites/sitename/" #base URL of your site
$SharepointDocumentFolder = "Shared Documents/path to folder" #path to the folder where the files are located

$LocalShare = "\\server\localshare"  #where you download local, sql proxy account needs access


$un = "YourAccount@domain.com"
$pw = "Password"

Set-Location "c:\"  #we had to have this when running in agent job

try
{
    $sp = $pw | ConvertTo-SecureString -AsPlainText -Force
    $plainCred = New-Object system.management.automation.pscredential -ArgumentList $un, $sp

    Connect-PnPOnline -Url $SharepointBaseURL -Credentials $plainCred -ErrorAction Stop
    $SharePointFileList = Get-PnPFolderItem -FolderSiteRelativeUrl $SharepointDocumentFolder -ItemType File #gets a list of all files in the sharepoint directory

    foreach ($File in $SharePointFileList)
    {
        Get-PnPFile -Url $File.ServerRelativeUrl -Path $LocalShare -Filename $File.Name -AsFile -ErrorAction Stop #Add "-Force" parameter if you want to override if the file already exists
    }

}
Catch
{
    Throw $_.Exception.Message #any errors/exceptions this bubbles it out into job history
}

然后,SSIS被配置为访问本地文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63619096

复制
相关文章
Contact Manager Web API 示例[2] Web API Routing
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。 Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍,本文主要介绍Web API Routing。 如果你已经熟悉 ASP.NET MVC,你会发现 Web API Routi
张善友
2018/01/22
9740
Contact Manager Web API 示例[2] Web API Routing
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。 Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍,本文主要介绍Web API Routing。 如果你已经熟悉 ASP.NET MVC,你会发现 Web API Routi
张善友
2018/01/22
1K0
使用OAuth 2.0访问谷歌的API
谷歌的API使用的OAuth 2.0协议进行身份验证和授权。谷歌支持常见的OAuth 2.0场景,如那些Web服务器,安装,和客户端应用程序。
拿我格子衫来
2022/01/24
4.6K0
使用OAuth 2.0访问谷歌的API
Contact Manager Web API 示例[1]CRUD 操作
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d . 下面的文章以这个示例讲解ASP.NET Web API的各方面知识: 1、CRUD操作: CURD 是 "Create, Read, Update, Delete" (新增、读取、更新、删除) 的简写,这四个动作是数据
张善友
2018/01/22
9290
Contact Manager Web API 示例[4] 异常处理(Exception Handling)
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。 Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍, Contact Manager Web API 示例[2] Web API Routing 介绍Web API Rout
张善友
2018/01/22
8190
[CORS:跨域资源共享] 同源策略与JSONP
Web API普遍采用面向资源的REST架构,将浏览器最终执行上下文的JavaScript应用Web API消费者的重要组成部分。“同源策略”限制了JavaScript的跨站点调用,这必然导致Web API不能垮域提供资源。如果Web API仅限于为“同源客户端”提供资源,那么它都对不起自己的名字,因为Web本身是一个开放的协议。那么ASP.NET Web API通过怎样的方式来实现跨域资源共享呢? 同源策略 浏览器是访问Internet的工具,也是客户端应用的宿主,它为客户端应用提供一个寄宿和运行的环境。
蒋金楠
2018/01/15
1.1K0
[CORS:跨域资源共享] 同源策略与JSONP
使用谷歌标准api时protobuf生成遇到的问题
在vscode时新增proto文件时,按下sr会出现一个快捷生成CRUD服务的例子
天地一小儒
2022/12/28
1.9K0
使用谷歌标准api时protobuf生成遇到的问题
API,打开“共享之门”的最好钥匙
我们经常听到开发人员讨论API。API与APP一词看上去很相似,对于APP我们很熟悉,即是应用程序Application的缩写,随着智能手机的普及这一词成了手机软件的代称。但是API又是什么呢? AP
BestSDK
2018/03/01
1K0
API,打开“共享之门”的最好钥匙
C#调用腾讯云文本翻译API,使用V3签名报错。
"Error":{"Code":"AuthFailure.SignatureFailure","Message":"The provided credentials could not be validated. Please check your signature is correct."
用户9018380
2021/09/20
2K0
Contact Manager Web API 示例[3] 分页和查询(Paging and Querying)
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。 Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍, Contact Manager Web API 示例[2] Web API Routing 介绍Web API Rout
张善友
2018/01/22
1.4K0
点击加载更多

相似问题

List vs ArrayList vs Dictionary vs Hashtable vs Stack vs Queue?

30

innerText vs innerHTML vs label vs text vs textContent vs outerText

665

.c vs .cc vs .cpp vs .hpp vs .h vs .cxx

64

Exec vs ExecWait vs ExecShell vs nsExec::Exec vs nsExec::ExecToLog vs nsExec::ExecToStack vs ExecDos vs ExeCmd

25

bundler vs RVM vs gem vs RubyGems vs gemsets vs system ruby

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文