|
|
|
Access без спросу вызывает процедуру
|
|||
|---|---|---|---|
|
#18+
Задача: запустить ХП. Делаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Так вот, с помощь профайлера обнаруживаю, что на строчке Set catCurr.Procedures("qryMyProc").Command = cmdCurr Акссесс ее запускает. А потом, когда я ее запускаю явно, то процедура запускается второй раз! Собсно, в чем тут дело, не могу понять... Может, кто-нибудь сталкивался с подобным... Не может же Акцесс исполнять процедуры когда ему вздумается. Использую Access2000 + MSSQL2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2005, 11:21:22 |
|
||
|
Access без спросу вызывает процедуру
|
|||
|---|---|---|---|
|
#18+
Неужели никто не сталкивался? Мдя... вот задачка-то... Я хотел бы попросить кого либо из присутсвующих (желательно владельцев AC2000) попробовать сделать следующее: 1) созадть новый MDB; 2) создать новый запрос тип "К серверу" (pass-through), назвать его, к примеру, test. 3) в теле запроса написть что-нибудь, ну пусть "asdf"; 4) настроить запрос на свой SQLServer; 5) создать форму, кинуть кнопку и в OnClick написать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 7) наконец нажать кнопку, и проследить, какие сообщения появляются в трэйсере. У меня обязательно вылезал BatchCompleted: "asdf", хотя явно я процедуру не запускал. 8) сообщить об этом в эту ветку. Заранее большое спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2005, 12:29:51 |
|
||
|
Access без спросу вызывает процедуру
|
|||
|---|---|---|---|
|
#18+
в общем-то вызов ХП делается в корне не так вот шаблон: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2005, 13:04:13 |
|
||
|
Access без спросу вызывает процедуру
|
|||
|---|---|---|---|
|
#18+
точнее так Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2005, 13:06:23 |
|
||
|
Access без спросу вызывает процедуру
|
|||
|---|---|---|---|
|
#18+
Если не надо возвращать выходные параметры, то достаточно конкатенацией склеить строку: CurrentProject.Connection.Execute "exec myproc " & Cstr(par1) & ", " & ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2005, 13:08:14 |
|
||
|
Access без спросу вызывает процедуру
|
|||
|---|---|---|---|
|
#18+
а даты как передавать или строки с кавычками? это ж изврат будет.. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2005, 13:49:30 |
|
||
|
Access без спросу вызывает процедуру
|
|||
|---|---|---|---|
|
#18+
Эти способы, похоже, работают только в ADP. Или нет? У меня на Execute вылазит ошибка, что-то вроде "Ядро базы данных Microsoft Jet не может найти входную таблицу или запрос тут имя процедуры". Оно и понятно, ведь CurrentProject.Connection указывает на MDB-шник, а он знать не знает, что такое хранимые процедуры. На самом деле до меня уже доперло, что я неправильно вызываю ХП. Похоже для этого следует использовать DAO, открывать дополнительное соединение в режиме ODBC Direct и делать все через него. Правда, не очень здорово, что одному клиенту нужно более одного соединения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2005, 14:10:08 |
|
||
|
Access без спросу вызывает процедуру
|
|||
|---|---|---|---|
|
#18+
авторПравда, не очень здорово, что одному клиенту нужно более одного соединения. Ничего страшного, аксесс (ADO точнее) клонирует соединения сам пачками. авторЕсли не надо возвращать выходные параметры, то достаточно конкатенацией склеить строку: CurrentProject.Connection.Execute "exec myproc " & Cstr(par1) & ", " & ... лучше не лениться и создавать параметры. в этом случае ХП вызывается через RPC, нет проблем с кавычками, датами и языковыми настройками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2005, 15:06:40 |
|
||
|
Access без спросу вызывает процедуру
|
|||
|---|---|---|---|
|
#18+
roman10Оно и понятно, ведь CurrentProject.Connection указывает на MDB-шник Connection бывают и не CurrentProject Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2005, 15:20:51 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32863373&tid=1669332]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 304ms |

| 0 / 0 |
