c#error:其他信息:找不到方法:' Void Microsoft.SqlServer.Management.Smo

时间:2017-09-05 14:05:53

标签: c# sql

我正在尝试申请支持我的"帐户"团队和我有整理更换器的问题。这是代码:

private string CollationQuery(string DBName, string FileDir, string CollationName)
{
    return string.Concat(new string[]
    {

    //Here have some query and code again:
    }
}


    private SqlConnection sqlConn = new SqlConnection();
    private void executeFiles(string targetDirFirstStage, string targetDirSecondStage, SqlConnection sqlConn)

        {
            DirectoryInfo directoryInfo = new DirectoryInfo(targetDirFirstStage);
            FileInfo[] files = directoryInfo.GetFiles();
            for (int i = 0; i < files.Length; i++)
            {
                FileInfo fileInfo = files[i];
                bool flag = fileInfo.Extension == ".sql" || fileInfo.Extension == ".SQL";
                if (flag)
                {
                    Server server = new Server(new ServerConnection(sqlConn));

                        string sqlCommand = fileInfo.OpenText().ReadToEnd();
                        server.ConnectionContext.ExecuteNonQuery(sqlCommand);
                        server.ConnectionContext.Disconnect();

                }
            }
            DirectoryInfo directoryInfo2 = new DirectoryInfo(targetDirSecondStage);
            FileInfo[] files2 = directoryInfo2.GetFiles();
            for (int j = 0; j < files2.Length; j++)
            {
                FileInfo fileInfo2 = files2[j];
                bool flag2 = fileInfo2.Extension == ".sql" || fileInfo2.Extension == ".SQL";
                if (flag2)
                {
                    Server server2 = new Server(new ServerConnection(sqlConn));

                        string fullName = fileInfo2.FullName;
                        StreamReader streamReader = new StreamReader(fileInfo2.FullName, Encoding.GetEncoding(1251));
                        string sqlCommand2 = streamReader.ReadToEnd();
                        server2.ConnectionContext.ExecuteNonQuery(sqlCommand2);
                        streamReader.Close();
                        server2.ConnectionContext.Disconnect();

                }
            }
        }
    private string myDir = Environment.GetEnvironmentVariable("TEMP") + "\\RDBS\\Satage1\\";

    private string myDirSecondStage = Environment.GetEnvironmentVariable("TEMP") + "\\RDBS\\Satage2\\";
    private void changeCollationButton_Click(object sender, RoutedEventArgs e)
    {

                    con.server = this.server;
                    con.user = this.user;
                    con.password = this.password;
                    con.OpenConnection();

        string value = this.CollationQuery("TRZPro_17083118563804", this.myDirSecondStage, this.cbCollation.SelectedItem.ToString());
        StreamWriter streamWriter = new StreamWriter(this.myDir + "TRZPro_17083118563804_step1.sql", false);
        streamWriter.WriteLine(value);
        streamWriter.Close();
        this.executeFiles(this.myDir, this.myDirSecondStage,this.sqlConn);


        con.conn.Close();

    }

错误在这一行:

this.executeFiles(this.myDir, this.myDirSecondStage,this.sqlConn);

,错误是:

  

&#34;未找到方法:&#39;无效    Microsoft.SqlServer.Management.Smo.Server..ctor(Microsoft.SqlServer.Management.Common.ServerConnection)&#39;&#34;

我已添加对版本为13.100.0.0的Microsoft.SqlServer.Smo的引用。 还尝试使用版本13.0.0.0和12.0.0.0但得到相同的错误。

0 个答案:

没有答案