【发布时间】:2009-12-03 18:40:02
【问题描述】:
我有一个使用 Windows 身份验证的 Sql Server。
我想从 Delphi 应用程序连接到服务器。
默认情况下,SQL Server 将假定启动连接过程的用户的凭据。
这意味着要更改登录,我目前有两种选择:
注销并根据需要登录 用户,然后运行我的应用程序
从命令启动程序 行使用 RUNAS 命令。
我想让用户从应用程序中提供凭据,并以该用户身份登录。这可能是通过操作 ConnectionString 还是通过以编程方式更改当前进程的用户?
我找到的最接近的是this entry,它告诉我如何在特定凭据下启动另一个进程。我可以使用该技术创建一个“启动器”程序,在从用户那里收集凭据后启动连接过程,但我真的想要更干净的东西。
我在这个项目中使用 Delphi 2010。
谢谢
【问题讨论】:
-
它不使用“用户名”。它使用进程安全凭证。每个正在运行的进程都附加了安全凭证。 ScottW 有正确的答案 - 您必须更改进程/线程安全凭证。
标签: sql-server delphi windows-authentication