Как использовать информацию о соединении sql из существующего файла app.config в моем проекте C # - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь написать небольшое приложение на C #, где мне нужно подключиться к SQL, чтобы получить некоторые данные, для этого мне нужны идентификатор пользователя и пароль SQL, для того же клиента работают другие приложения, которые подключаются к SQL Server.и иметь конфигурационный файл в зашифрованном виде.Я не очень хорош в C # и .Net, и мне трудно понять эти концепции, я пытался искать ответы в постах, но не получил подходящего ответа на свой вопрос.Могу ли я использовать уже используемый конфигурационный файл в моем новом проекте и читать информацию о пользователях и паролях в зашифрованном виде и использовать для подключения к SQL-серверу?

Любые полезные вещи для понимания использования конфигурационных файловв C # будет высоко ценится, с хорошими примерами.

Ответы [ 4 ]

0 голосов
/ 07 июня 2018

Используйте эту функцию

 /// <summary>
            /// Get values of the connection string in the following order :
            /// Server , Database,
            /// If the length of the list is 3 then the 3rd object is True (Integrated Security)
            /// If it is 4 then the 3rd object is the 3rd object is the username and the 4th is the password.
            /// 
            /// </summary>
            /// <returns></returns>
            public static List<string> GetCurrentConnectionString()
            {
                try
                {
                    List<string> lstConnStrData = new List<string>();
                    string[] aryConnStrData = new string[1];
                    // OPen the Config file as XML document and loop over it.
                    XmlDocument XmlDoc = new XmlDocument();
                    //Loading the Config file
                    XmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
                    foreach (XmlElement xElement in XmlDoc.DocumentElement)
                    {
                        if (xElement.Name == "connectionStrings")
                        {
                            //setting the coonection string
                            aryConnStrData = xElement.ChildNodes[1].Attributes[1].Value.Split(';');
                            break;
                        }

                    }

                    // Now loop over the array that holds the conn str data and split each item on "=",
                    // and add the second splitted item to the list, so at the end the list will contains 
                    // the values of the connection string.

                    for (int i = 0; i <= aryConnStrData.Length - 2; i++)
                    {
                        lstConnStrData.Add(aryConnStrData[i].Split('=')[1]);
                    }
                    return lstConnStrData;
                }
                catch (Exception)
                {

                    throw;
                }
            }

ИЛИ

   public static List<string> SplitConnectionString(string ConnectionString)
    {
        try
        {
            List<string> lstConnStrData = new List<string>();
            string[] aryConnStrData = new string[1];

            aryConnStrData = ConnectionString.Split(';');

            // Now loop over the array that holds the conn str data and split each item on "=",
            // and add the second splitted item to the list, so at the end the list will contains 
            // the values of the connection string.

            for (int i = 0; i <= aryConnStrData.Length - 2; i++)
            {
                lstConnStrData.Add(aryConnStrData[i].Split('=')[1]);
            }
            return lstConnStrData;
        }
        catch (Exception)
        {

            throw;
        }
    }
0 голосов
/ 07 июня 2018

Если у вас есть административный доступ к серверу SQL, вы можете создать учетную запись, которую сможете использовать для подключения.

Если у вас нет прав администратора, вам нужно попросить администратора создать учетную запись.для вас ... или сказать вам учетные данные, которые вы можете использовать.

0 голосов
/ 07 июня 2018

В app.config добавьте следующие строки внутри <configuration>:

<connectionStrings>
  <add name="PWD" connectionString="#$@AERG#$"/>
</connectionStrings>

И в основной программе:

  1. Добавьте ссылку System.Configuration через Диспетчер проектов .
  2. Добавьте , используя System.Configuration; в используемом сегменте.
  3. используйте ConfigurationManager.ConnectionStrings ["PWD"]. ToString () для доступа к зашифрованному паролю в файле конфигурации.

Пожалуйста, измените его соответственно насоответствует вашей цели !!!

Удачи !!!

0 голосов
/ 07 июня 2018

Посмотрите на: Как установить строку подключения к SQL Server?

пример для MSSQL, для других он будет почти таким же.

...