几天前我问了一个问题(使用Windows身份验证从非域计算机访问SQL Server 2005),这提出了一些有趣但不可用的建议.我想再次提出这个问题,但要弄清楚我的约束是什么:
我有一个Windows域,其中一台机器运行SQL Server 2005,并配置为仅支持Windows身份验证.我想在同一网络上的计算机上运行C#客户端应用程序,但不在域上,并访问SQL Server 2005实例上的数据库.
我不能在任何一台机器上创建或修改操作系统或SQL Server用户,我也不能对权限或模拟进行任何更改,我也不能使用runas.
我知道我可以使用以下四个参数编写可以连接到SQL Server数据库的Perl和Java应用程序:服务器名称,数据库名称,用户名(域名为domain\user)和密码.
在C#中,我尝试过各种各样的事情:
string connectionString = "Data Source=server;Initial Catalog=database;User Id=domain\user;Password=password";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
Run Code Online (Sandbox Code Playgroud)
并尝试将集成安全性设置为真假,但似乎没有任何效果.我想在C#中做什么根本不可能?
感谢任何帮助,马丁
我想务实地将 Windows 用户添加到 SQL 用户。我的问题是我想在以混合模式安装 SQL 的系统上执行此操作,但我没有用户名和密码,我只知道实例名称,但我不知道如何执行添加 Windows 用户的脚本对于这种情况下的 SQL 用户。
我知道脚本是:
use master
GO
create login [<YourDomain>\User1] from windows;
GO
Run Code Online (Sandbox Code Playgroud)
我的连接字符串是:
ServerConnection myServerConnection = new ServerConnection(myinstancename);
Server myServer = new Server(myServerConnection);
SqlConnection scSqlConnction = new SqlConnection(myServerConnection.ConnectionString);
Run Code Online (Sandbox Code Playgroud)
但是当我用我的实例名称创建一个服务器连接,并想用相关的连接字符串执行脚本时,我得到了错误
用户登录失败(windows 用户)
我使用以下代码行来连接到我的计算机的数据库实例。
cnx = mysql.connector.connect(host=Host, user=User, password=Password, database=db, auth_plugin='mysql_native_password')
Run Code Online (Sandbox Code Playgroud)
该连接在 spyder 控制台和我根据此代码制作的可执行文件 (.exe) 上都可以完美运行。问题是,当我尝试从另一台计算机远程运行此可执行文件并连接到我计算机的数据库实例(我的 IP)时,我收到此身份验证插件错误。我应该对 mysql 数据库的设置进行一些更改吗?我需要代码既可以在我的 PC 上本地运行,也可以在其他任何地方远程运行。
我在运行 Windows 7 x-64 的独立非联网开发 PC 上安装了 SQL Server 2012 完整版。假设 FOO 是我的 PC 的名称,而我的 SQL Server 命名实例是 FOO\SQL2012。
我正在尝试按照此处的示例进行操作,这些示例展示了如何使用存储过程作为数据源创建新的临时表。
我想执行这些查询中的任何一个,但我收到了显示的错误。
SELECT * into #temp FROM OPENQUERY("FOO\SQL2012", 'exec MySchema.MyStoredProc')
**ERROR: Server 'FOO\SQL2012' is not configured for DATA ACCESS.**
Run Code Online (Sandbox Code Playgroud)
或此查询:
SELECT * INTO #temp FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2012;Trusted_Connection=yes;',
' EXEC MySchema.MyStoredProc')
**ERROR: Msg 11529, Level 16, State 1, Procedure sp_describe_first_result_set, Line 1
Run Code Online (Sandbox Code Playgroud)
无法确定元数据,因为每个代码路径都会导致错误;请参阅其中一些以前的错误。**
我将如何配置 SQL Server 实例以允许当前经过身份验证的用户(无论它可能是谁)对本地实例使用 OPENROWSET、OPENQUERY?
通过 Windows 进行身份验证的用户和通过 SQL Server 进行身份验证的用户是否需要这些查询的单独版本?
windows-authentication sql-authentication openquery openrowset sql-server-2012
c# ×2
sql-server ×2
.net ×1
executable ×1
mysql ×1
mysql-python ×1
openquery ×1
openrowset ×1
python ×1