如何在c#中创建SqlConnection来指向UDL文件



我有一个。udl(通用数据链接)文件在我的项目。现在我想创建一个指向这个特定文件的SQL Connection。SqlConnection对象期望连接字符串,我们如何使用.UDL文件构建SqlConnection ?

From MSDN site:

可以为OleDbConnection提供连接信息在通用数据链(UDL)文件中;然而,你应该避免这样做所以。UDL文件不加密,暴露连接字符串以明文形式提供信息。因为UDL文件是外部的将基于文件的资源添加到应用程序中,无法使用. net框架。SqlClient不支持UDL文件。

看这里:

http://social.msdn.microsoft.com/forums/en us/sqlnetfx/thread/0bb40f32 - 86 - f4 - 4 - b6f a2e0 bc2bdcf07b63

另一种方法是将OleDBConnection转换为SQLConnection。

private static string CONNECTION_NAME = "\conection.udl";
 private static SqlConnection CreateSqlConnection(OleDbConnection udlInfo)
        {
            try
            {   
                string CONNECTION_STRING = $"Database={udlInfo.Database};Server={udlInfo.DataSource};Integrated Security=True;connect timeout = 30";
                var connection = new SqlConnection(CONNECTION_STRING);
                connection.Open();
                return connection;
            } catch
            {
                 Console.WriteLine($"{CONNECTION_NAME} Not found");
                return null;
            }
        }
public static SqlConnection GetSqlConnection()
        {
            var udlInfo = new OleDbConnection($"File Name={Application.StartupPath}{CONNECTION_NAME}");
            return CreateSqlConnection(udlInfo);
        }

最新更新