如何将 sql 连接字符串值传递给 C# 程序

本文关键字:程序 值传 字符串 sql 连接 | 更新日期: 2023-09-27 18:34:27

我对编程世界很陌生(对不起,如果这个问题已经回答了很多次,至少我没有从互联网上搜索得到任何线索),我最近正在尝试构建一个 C sharp 应用程序。此 exe 将在另一个程序中调用,调用时,该程序将传递 sql 连接字符串值 c sharp exe 应用程序。我的问题是如何使应用程序接收值。

连接字符串应如下所示

“Provider=SQLOLEDB.1;Password=xxxxxxxx;Persist Security Info=True;User
ID=xxxxxxxx;Initial Catalog=ATTACH;Data Source=LNGSEAL136504A;
Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation 
ID=LNGSEAL136504A;Use Encryption for Data=False;Tag with column collation when 
possible=False”

我写了什么:这是我的代码:班级课程 { 静态空 主(字符串[] 参数) { Console.WriteLine("它正在运行!"); Console.ReadKey(); 尝试 {

            int Len;
            string cnn = null;
            Len = args.Length;
            for (int i = 0; i < args.Length; i++)
            {
                cnn = cnn + " " + args[i];
            }
            Console.WriteLine(cnn);
            Console.WriteLine(Len);               
            Console.ReadKey();
            ADODB.Connection mycnn = new ADODB.Connection();
            mycnn.Open(cnn);
            ADODB.Recordset rs = new ADODB.Recordset();
            rs.Open("sql statements", mycnn);

            mycnn.Close();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
            Console.ReadKey();
        }
    }
}

但它给我抛出了一个"无法投射 COM 对象错误"。知道吗?请指教。

[已解决]

我使用oledbconnection而不是adodb,它可以正常工作。感谢所有帮助过的人。

如何将 sql 连接字符串值传递给 C# 程序

可以通过

命令行参数(使用源应用程序用于调用可执行文件的任何技术)传递连接字符串,然后可以从接收可执行文件的 Main(string[] args) 函数中的 args 数组中检索它们。

例如,在接收端:

class TestClass
{
    static void Main(string[] args)
    {
        // avoiding empty/null checks for simplicity
        string connectionString = args[n]; // where "n" is index value of your
                                           // connection string argument
        DoWork(connectionString);
    }
}

考虑到这一点,可能有更好的方法来完成您的要求。如果您向我们详细描述了您的项目,我们也许可以提供替代建议。

在 C# 中很容易

在发件人应用程序中通过使用 Process.start("您希望向其发送连接字符串的 exe 路径","连接字符串");

在接收器应用程序中并在主方法中的exe中(在程序类中建立)

main(string[] args)

args[0] 将保存其他程序发送的连接字符串。

尝试。。