У меня проблема с подключением Odbc. В Open () все работало нормально с кодом ниже, пока он не начал зависать с высокой задержкой - плохие соединения.
Я использую TMnetsim в качестве инструмента для имитации плохого сетевого соединения.Код прекрасно работает в ситуациях с высокой задержкой, но он просто зависает при потере пакетов.Даже одного пакета достаточно, чтобы сломать программу.(Потеря пакетов начинается после% 3 Loss rate)
Мой вопрос: почему не выполняется connection.Open (), а время ожидания не завершается?Если я явно установлю ConnectionTimeout на 5, он никогда не истекает и остается там навсегда.
//connectionString: "DRIVER={PostgreSQL Unicode};SERVER=127.0.0.1;UID=master;PWD=pass;DATABASE=global;PORT=5432;"
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
try
{
connection.ConnectionTimeout = 5;
connection.Open(); // It hangs here forever... ? why?
}
catch (Exception ex)
{
MessageBox.Show("...");
}
// code continues...
}
Что ж, я довольно новичок в программировании БД, ваши ответы или предложения действительно очень важны для меня, спасибо.
Редактировать: connectionString: "DRIVER = {PostgreSQL Unicode}; SERVER = 127.0.0.1; UID = master; PWD = pass; DATABASE = global; PORT = 5432;"База данных Postgresql 8.x