У меня есть код, который использует ODP.Net
using (OracleConnection connection = new OracleConnection(connectionString))
{
connection.Open();
boxCommand = new OracleCommand(sql, connection);
OracleDataAdapter boxAdapter = new OracleDataAdapter(boxCommand);
DataTable boxTable = new DataTable();
boxAdapter.Fill(boxTable);
}
Затем я получаю сообщение об ошибке ниже на рабочем сервере. Тестовый сервер в порядке.
Я не понимаю, что он жалуется на то, что соединение не открыто, но если возникла проблема, это должно произойти в тот момент, когда мой Open
вызывается не на Fill
. Также я подумал, что Fill
должен был все равно открыть соединение.
Кто-нибудь может подсказать, что может происходить?
ОБНОВЛЕНИЕ: Из комментариев я попытался добавить это, но та же проблема:
using (OracleConnection connection = new OracleConnection(connectionString))
{
connection.Open();
while(connection.State != ConnectionState.Open)
{
connection.Close();
connection.Open();
}
boxCommand = new OracleCommand(sql, connection);
OracleDataAdapter boxAdapter = new OracleDataAdapter(boxCommand);
DataTable boxTable = new DataTable();
boxAdapter.Fill(boxTable);
}
ОБНОВЛЕНИЕ 2: Я добавил ведение журнала и Validate Connection = true для строки подключения, и я знаю, что состояние подключения открыто, команда box выполнена, адаптер создан и таблица создана, она определенно вызывает ошибки Заполнение