C# 使用另一个用户帐户NT security执行sql查询

C# 使用另一个用户帐户NT security执行sql查询,c#,sql,vb.net,vbscript,C#,Sql,Vb.net,Vbscript,我正在尝试配置一个从SQL数据库(PeopleSoft)到要加载到SAP PCM的CSV文件的数据源。我需要在adhock的基础上运行这个过程,因此需要拉取数据,而不是通过SSIS或Control M等应用程序安排或推送数据 基本上,SAP PCM能够允许自定义编码(VBSCRIPT),这将允许我们在需要时运行任何类型的第三方脚本来执行SQL查询,该查询可以链接到应用程序本身的按钮,以便最终用户可以根据需要触发 我已经尝试使用一个用户帐户直接从SAP PCM运行SQL,该用户帐户具有使用SSO访

我正在尝试配置一个从SQL数据库(PeopleSoft)到要加载到SAP PCM的CSV文件的数据源。我需要在adhock的基础上运行这个过程,因此需要拉取数据,而不是通过SSIS或Control M等应用程序安排或推送数据

基本上,SAP PCM能够允许自定义编码(VBSCRIPT),这将允许我们在需要时运行任何类型的第三方脚本来执行SQL查询,该查询可以链接到应用程序本身的按钮,以便最终用户可以根据需要触发

我已经尝试使用一个用户帐户直接从SAP PCM运行SQL,该用户帐户具有使用SSO访问PeopleSoft数据库的权限。正如您所期望的那样,这是可行的,并且输出了所需的数据

问题是我不想给最终用户相同的访问级别。。。因此,我创建了一个NT服务帐户,该帐户具有正确的数据库访问级别。-出于某种原因,我们在这里不使用SQL身份验证,因此不能只使用SQL帐户

我面临的问题是试图让SQL脚本作为服务帐户运行。。。我已经调查过作为。。但这将提示用户输入服务帐户密码,这就违背了这一点。此外,XP之后似乎不支持替代方案-我们使用的是W7

我已经看了一眼windows服务,也许能找到答案,但我从来没有构建过一个,所以我会从头开始,我不确定这是最好的方法

因此,问题是-是否可以使用不提示用户输入密码的服务帐户执行SQL查询我想我可以将密码构建到exe中,这样在需要时就不会以明文形式存储

是否有任何VBSCRIPT(或其他)示例允许我这样做


谢谢

我不太熟悉您使用的系统,但我刚刚编写了一个小批处理文件,它使用bcp将SQL存储过程复制到CSV。该文件包括用户名和密码

它看起来像这样:

bcp "exec [your SQL SP]" queryout output.csv -S[your server] -U[username] -P[PW] -c -t,
正如您所说的不太安全(我的将作为计划任务运行),但可能还有其他方法可以做到这一点?也许可以加密批处理文件。有一个免费的程序似乎可以做到这一点。从简介中:

高级BAT-to-EXE转换器不仅可以加密您的代码,还可以 创建实际的Windows native.EXE程序


您可以对pw进行编码,以便在用户运行流程时自动输入它吗?嗨,我如何让它自动输入我见过的唯一的方法就是使用命令发送键。。。这似乎不太可靠。-编辑-太冗长-作为答案发布。这不是数据库用户名和密码吗?我看不出如何使用NT帐户进行身份验证?