|
|
|
Excel, OO4O, проблема с выводом SQL последовательности
|
|||
|---|---|---|---|
|
#18+
День добрый. Мне надо в поле эксела ввести очередной номер сиквенса (последовательности) из БД Оракла. Использую такой код, основанный на технологии ОО4О. Проблема: при запуске такой процедуры сиквенс увеличивается не на 1 значение а на 2. Причем эта же команда SQL в навигаторе дает последовательное приращение сиквенса на 1. Такое ощущение, что команда в данном коде запускается дважды. Я не прав? как исправить сей досадный error? -------------- Sub SELECT_Num_Packet() Dim sSQLVar As String 'Declare variables as objects Dim OraSession As Object Dim OraDatabase As Object Dim EmpDynaset As Object ' стираю ячейку Sheets("Sheet1").Select Range(Cells(6, 5), Cells(6, 5)).Select Selection.ClearContents sSQLVar = "select XXTNH_PO_REQ_NUM_PACKET_SEQ.NEXTVAL as Num_Packet from dual" Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.OpenDatabase("EXCEL_PO", "app/123456", 0&) Set EmpDynaset = OraDatabase.CreateDynaset(sSQLVar, 0&) ' записываю в поле значение сиквенса ActiveSheet.Cells(6, 5) = EmpDynaset.Fields(0) End Sub ----------------- EXCEL_PO - tns имя сервера, имена,пароли нереальные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2006, 14:21:51 |
|
||
|
Excel, OO4O, проблема с выводом SQL последовательности
|
|||
|---|---|---|---|
|
#18+
Плюнул... пущай увеличивается на 2, особой беды в этом нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 06:47:13 |
|
||
|
Excel, OO4O, проблема с выводом SQL последовательности
|
|||
|---|---|---|---|
|
#18+
А если принудительно закрывать рекордсет и коннект к базе? Попробуй хотя бы из макроса что-нибудь подобное: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 17:57:41 |
|
||
|
Excel, OO4O, проблема с выводом SQL последовательности
|
|||
|---|---|---|---|
|
#18+
Нет, если просто закрыть а потом записывать в ячейку - все равно эффект остался. Предложенный вариант - закрыть и повторно открыть - теперь уже эффект возрос в 2 раза! :) Число увеличиваться стало на 4 вместо бывших 2, когда надо 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 08:00:45 |
|
||
|
Excel, OO4O, проблема с выводом SQL последовательности
|
|||
|---|---|---|---|
|
#18+
AnatolyOilПредложенный вариант - закрыть и повторно открыть - теперь уже эффект возрос в 2 раза! :)Хе... ну значит этот самый EmpDynaset действительно посылает команду на сервер повторно. Если у этой библиотеки есть какие-нибудь средства мониторинга посылаемых запросов - можно там посмотреть. Или пошагово прогонять макрос в дебагере и параллельно смотреть содержимое базы. А может использовать ADO вместо ораклового интерфейса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 19:16:15 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34236406&tid=2183689]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 369ms |

| 0 / 0 |
