|
Oracle.ManagedDataAccess.Client.OracleCommand - проверка на Prepared?
|
|||
---|---|---|---|
#18+
Доброго времени суток всем. Имею WinForm приложение и БД Oracle, к которой нужно корректно подключиться. "Корректно" это вот так: если в момент выдачи очередного запроса кто-то выдернет сетевой шнур сервера из розетки, программа у клиента не должна зависнуть, а должна перейти в режим тестирования связи с сервером (в цикле ping, затем tnsping, затем select 1 from dual) и после того как сервер снова оживёт, автоматически обратно законнектиться и продолжить работу. Для этих целей написан код внизу, который выполняется в начале каждого обращения к БД из окон программы. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
В цикле в блоке try/catch выполняются oconn.Open(), затем ocmd.Prepare(). Выход из цикла должен состояться только при условии успешности обоих команд. Я знаю, как проверить успешность первой из них (oconn.State != ConnectionState.Open) Вопрос: Как проверить, что OracleCommand.Prepare() успешно выполнено сервером и можно уже присваивать параметры/выполнять запрос? Или по-другому спрошу: как узнать, что OracleCommand уже находится в состоянии Prepared? Буду признателен за рекомендации или тычок куда смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2021, 01:54 |
|
Oracle.ManagedDataAccess.Client.OracleCommand - проверка на Prepared?
|
|||
---|---|---|---|
#18+
1. Сделайте свою перменную cbPrepared = true и проверяйте 2. Делать повторную Препаре надо при некоторых условиях https://stackoverflow.com/questions/5818619/what-does-sqlcommand-prepare-do-and-when-should-it-be-used ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2021, 20:46 |
|
Oracle.ManagedDataAccess.Client.OracleCommand - проверка на Prepared?
|
|||
---|---|---|---|
#18+
Есть ли вообще профит от Prepared? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2021, 09:37 |
|
Oracle.ManagedDataAccess.Client.OracleCommand - проверка на Prepared?
|
|||
---|---|---|---|
#18+
vb_sub Есть ли вообще профит от Prepared? есть, конечно, особенно, если много параметров, т.е. параметры меняются и только execute ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2021, 16:57 |
|
Oracle.ManagedDataAccess.Client.OracleCommand - проверка на Prepared?
|
|||
---|---|---|---|
#18+
NordRus, всё сделано , неправильно, вам нужно при получении определённого исключения от текущего бизнес запроса , просто повторять его через определённый промежуток времени при этом выводить пользователю соответствующее сообщение ЗЫ static connection - это жесть, не делайте так никогда ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2021, 04:09 |
|
|
start [/forum/topic.php?fid=20&msg=40045027&tid=1398367]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 159ms |
0 / 0 |