[C#通过远程桌面或其他但在本地运行可执行文件的方式连接到另一个环境中的数据库

问题描述 投票:0回答:1

编辑

RDP只是我目前的操作方式,如果有另一种方式可以连接到不同环境中的数据库,我将执行此操作。

我有一个连接到数据库的C#Win Forms应用程序,除了我需要将RDP导入正确的环境并从那里运行可执行文件之外,这个工作正常。

是否有可能在应用程序内部进行RDP连接,然后连接到数据库而不必在RDP内部具有可执行文件。

[我试图使用我发现的here的MSTSCLib库建立连接字符串,但是无论如何这在代码级别上均不起作用。

代码:

    private void rdpConnect_Click(object sender, EventArgs e)
    {
        MSTerminalServiceControl1.Server = rdpServer.Text;
        MSTerminalServiceControl1.UserName = rdpUserName.Text;
        IMsTscNonScriptable secured = (IMsTscNonScriptable)MSTerminalServiceControl1.GetOcx();
        secured.ClearTextPassword = rdpPassword.Text;
        MSTerminalServiceControl1.Connect();
    }

    private void rdpDisconnect_Click(object sender, EventArgs e)
    {
        MSTerminalServiceControl1.Disconnect();
    }

当前路径:

enter image description here

所需路径:

enter image description here

c# winforms networking database-connection rdp
1个回答
0
投票

好像您没有对ActiveX控件的引用。

在工具箱中,选择COM组件:Microsoft RDP控件-版本x

这里的版本很重要,它应该与已安装的RDP版本匹配,一旦在工具箱中添加了该版本,就将其放到表单上,如果版本不匹配,则会引发错误。我想说的是从最新版本的控件开始,然后向下直到您能够成功将其添加到表单中为止。您代码中的MSTerminalServiceControl1实际上是您应该在表单上放置的此控件的名称。

© www.soinside.com 2019 - 2024. All rights reserved.