SQL Server 2012 SqlCLR从machine.config而不是sqlservr.exe.config读

本文关键字:config sqlservr exe SQL 2012 SqlCLR machine Server | 更新日期: 2023-09-27 18:29:54

我有一个部署到SQL Server 2012的SQLCLR项目,该项目从配置文件中读取一些应用程序设置,SQL的配置文件必须在SQL根文件夹的'Binn文件夹中,但它无法从那里读取设置,而是从machine.config文件中读取配置,当我试图将system.config添加到sql程序集时,我得到了以下错误:

正在注册的程序集名称"System.Configuration"具有与系统程序集的名称重复的非法名称

那里有我遗漏的东西吗?

阿兰

SQL Server 2012 SqlCLR从machine.config而不是sqlservr.exe.config读

Ok-作为一个解决方案,您可以连接到与您的函数部署到的数据库相同的数据库,使用以下代码我连接到数据库并从数据库中读取我想要的设置。

 using (SqlConnection conn = new SqlConnection(**"context connection = true"**))
        {            
            conn.Open();
            SqlCommand cmd = new SqlCommand("SELECT Value FROM GlobalConfigSettings WHERE ID = " + ConstFynixConnectionStringId, conn);
            SqlDataReader dr = cmd.ExecuteReader();
            while(dr.Read())
            {
                fynixConnString = dr["Value"].ToString();
            }
            conn.Close();                  
        }