0

Through the information I have found searching here on stackoverflow, I have what I think is 90% of this solved but because of how OleDbConnection is converted to define SqlConnection, the call to the class with the connection and test script wants definition I am unsure how to provide.

I've used these pages to get what I have so far

How to create an SqlConnection in C# to point to UDL file

Calling an SQL Connection method in C#

    private static string CONNECTION_NAME = @"C:\Temp\DisplayDB.udl";

    public static class MyConnection
    {
        public static SqlConnection GetSqlConnection()
        {
            var udlInfo = new OleDbConnection($"File Name={CONNECTION_NAME}");

            return CreateSqlConnection(udlInfo);
        }

        public static SqlConnection CreateSqlConnection(OleDbConnection udlInfo)
        {
            try
            {
                string CONNECTION_STRING = $"Database={udlInfo.Database};Server={udlInfo.DataSource};User ID=User;Password=13245;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;
            }

        }
    }

    private void DBCheck()
    {

    // The line below is my issue, mouseover error of ".CreateSqlConnection" 
    // says there is no argument given that corresponds to the required
    // formal parameter 'udlInfo' of
    // 'MainWindow.MyConnection.CreateSqlConnection(OleDbConnection)'

        using (var con = MyConnection.CreateSqlConnection())
        {
            con.Open();
            var command = new SqlCommand("IF DB_ID ('CodeTest') IS NULL " +
                         "BEGIN " +
                         "USE MASTER " +
                         "CREATE DATABASE CodeTest" +
                         " END", con);
            var reader = command.ExecuteReader();
            reader.Close();
            con.Close();
        }
    }

I expect the WPF to use the Database and Server from the UDL file to make the SqlConnection so I can run queries and commands. I understand the security part of UDL in plain text but I do not want hard coded values as this application will be used in various environments nor do I want those values to need definition on each launch of the app.

2

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.