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

Joh*_*ohn 1 c#

我对编程世界非常陌生(很抱歉,如果这个问题已被回答过很多次,至少我没有从互联网上获得任何线索),并且我最近正在尝试构建一个C锋利的应用程序。该exe文件将在另一个程序中调用,并且在调用时,该程序将为c Sharp exe应用程序传递一个sql连接字符串值。我的问题是如何使应用程序获得价值。

连接字符串应如下所示

“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”
Run Code Online (Sandbox Code Playgroud)

我写的是:这是我的代码:类Program {静态void Main(string [] args){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();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但它引发我“无法转换com对象错误”。任何的想法?请指教。

[解决了]

我使用oledbconnection而不是adodb,并且它可以正常工作。感谢大家的帮助。

Cᴏʀ*_*ᴏʀʏ 5

您可以通过命令行参数传递连接字符串(使用源应用程序用来调用可执行文件的任何技术),然后可以argsMain(string[] 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

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