Моя проблема связана с проверкой наличия у меня действительного подключения к базе данных перед чтением из базы данных. Если база данных не работает, я бы хотел записать ее в xml-файл. У меня есть местоположение базы данных (если она есть) во время выполнения, поэтому, если база данных работает, я могу создать для нее новый sqlConnection.Проверка наличия базы данных?
ответ
Используйте типичную структуру try ... catch ... finally и на основе конкретного типа исключения и сообщения, решите, хотите ли вы писать в xml или нет.
try
{
SqlConnection connection = new SqlConnection(DB("Your DB Name"));
connection.Open();
}
catch (Exception ex)
{
// check the exception message here, if it's telling you that the db is not available. then
//write to xml file.
WriteToXml();
}
finally
{
connection.Close();
}
Вы не можете сказать, работает ли БД и не работает, фактически не открывая соединение с ней. Но все же соединение может быть отключено во время работы с ним, поэтому это нужно учитывать.
Я просто хотел бы использовать что-то вроде:
использованием (SqlConnection Conn = новый SqlConnection (с)) { conn.Open(); }
Он отправит исключение, если оно недействительно. Вы можете написать xml в исключении.
Простой способ будет выполнить простой запрос и посмотреть, если возникает ошибка:
Oracle:
SELECT * FROM DUAL
Для SQL Server
SELECT 1
Основном просто какая-то относительно «свободный» запрос, который позволит вам знать, что база данных запущена и отвечает на запросы, и ваше соединение не было отключено.
- 1. JavaDB - Проверка наличия базы данных
- 2. Проверка наличия базы данных DBContext
- 3. Проверка наличия базы данных SQLite3
- 4. Проверка наличия данных базы данных MySQL
- 5. Проверка наличия столбца в таблице базы данных
- 6. Проверка наличия базы данных в состоянии восстановления
- 7. Проверка наличия базы данных в таблице
- 8. Проверка наличия дубликата ввода базы данных
- 9. проверка наличия данных
- 10. Проверка наличия данных в chrome.storage.sync
- 11. Проверка наличия данных в файле
- 12. Проверка наличия в базе данных
- 13. проверка наличия необходимых данных-val
- 14. Проверка наличия данных в таблице
- 15. BAD_EXC_ACCESS проверка наличия данных: SWIFT
- 16. Проверка наличия строки базы данных с помощью jQuery
- 17. проверка наличия базы данных доступа MS с использованием VBscript
- 18. Проверка наличия или отсутствия URL-адреса из базы данных
- 19. Проверка наличия базы данных Postgres из Ruby/Rails
- 20. Практическое руководство. Проверка наличия отношения базы данных в Laravel 4?
- 21. Проверка наличия базы данных SQL Server в режиме MULTI_USER
- 22. Проверка наличия только одной записи базы данных в Laravel
- 23. Проверка наличия пользователя mysql
- 24. Проверка наличия родительских объектов
- 25. Проверка наличия данных в базе данных
- 26. Проверка наличия данных в базе данных
- 27. Проверка наличия строки SQLite
- 28. CodeIgniter - проверка наличия в базе данных радиокнопки
- 29. Проверка наличия всех файлов
- 30. Проверка наличия экземпляра NSConcreteMutableData
+1 - Недостаточно открыть соединение, потому что, если вы объединяете соединения, пул может вернуть соединение, которое фактически стало недействительным. Это происходит с нами в наших приложениях C# -> Oracle все время, потому что время соединения TCP/IP истекает, когда пул БД содержит то, что отображается как активное соединение. –