Проблема под рукой: Невозможно подключиться к моей sql серверной базе данных с помощью строки подключения, которая работает с инструментами подключения исследователей серверов, но не работает с моим приложением WPF.
Я подключаюсь к sql сервер «US06S-SQLSRV» на порту 49278, имя базы данных «Решения». Я создал приложение, которое должно подключиться к этому серверу, но есть опасение, что сервер может переместиться в будущем, поэтому я пытаюсь динамически изменить эту строку для будущего использования.
Это строка подключения, которая сгенерировано из инструмента подключения: Data Source=US06S-SQLSRV,49278;Initial Catalog=Solutions;Integrated Security=True
Я скопировал эту строку в мой файл App.Config и пытаюсь проверить соединение после входа пользователя в систему следующим образом:
App.Config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<clear/>
<add name ="DatabaseConnStringSO"
connectionString ="Data Source=US06S-SQLSRV,49278;Initial Catalog=Solutions;Integrated Security=True"/>
</connectionStrings>
</configuration>
DatabaseHelper.CS
public static string sql;
public static SqlConnection conn = new SqlConnection();
public static SqlCommand cmd = new SqlCommand(sql, conn);
public static SqlDataReader reader;
public static SqlDataAdapter sqlDataAdapter;
public static string DataSource = @"US06S-SQLSRV";
public static string GetConnectionStrings(string Name)
{
string strConnx = ConfigurationManager.ConnectionStrings[Name].ToString();
return strConnx;
}
public static void OpenConnection()
{
try
{
if (conn.State == ConnectionState.Closed)
{
conn.ConnectionString = GetConnectionStrings("DatabaseConnStringSO");
conn.Open();
MessageBox.Show("Solutions Database connection successful press 'OK' to proceed.", "Successful connection", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
//+Environment.NewLine + "Description: " + Exception.Message.ToString()
catch (Exception ex)
{
MessageBox.Show("Solutions Database ( " + DataSource + " connection unsuccessful, please seak a MFG personnel to assist in addressing this issue via the configuration window."
+ Environment.NewLine + "Description: " + ex.Message.ToString(), "Unsucessful database connnection, error: 100",
MessageBoxButton.OK, MessageBoxImage.Error);
}
}
Это ошибка, которую я получаю:
System.Data.SqlClient.SqlException: 'A Ошибка c, связанная с сетью или спецификацией экземпляра, произошла при установлении соединения с SQL Сервером. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Сервер настроен для разрешения удаленных подключений. (поставщик: поставщик TCP, ошибка: 0 - во время поиска в базе данных произошла неустранимая ошибка.) '
Любая помощь будет оценена.
Вещи, которые я пробовал :
- Жесткое кодирование строки в командах.
- Разрешение портов через правила брандмауэра
- Проверка возможности доступа к серверу через Sql Студия управления сервером (это относится и к IP-адресу, и к имени сервера)
- Использование IP-адреса в строке подключения.
- Создание адаптера таблицы с этой базой данных (при попытке предварительного просмотра данных выдается другая ошибка) таким образом, но запросы работают из представления конструктора таблиц.)
- Да, адаптер таблицы использует ту же строку подключения.
- На сервере включен протокол TCP / IP
- Убедитесь, что на сервере включены удаленные подключения
В конце дня я хочу подключиться к этой базе данных с помощью строки Dynami c.
Отредактировано для отображения дальше переменного тока tions: результат Powershell
Test-NetConnection -Порт 49278-Имя_компьютера US08S-SQLSRV
- Имя_компьютера: US06S-SQLSRV
- Удаленный адрес: 173.18.167.19
- RemotePort: 49278
- Интерфейс Алиас: Ethe rnet 2
- SourceAddress: 173.18.168.193
- TcpTestSucceeded: True