powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запуск хранимой процедуры в ORACLE
11 сообщений из 11, страница 1 из 1
запуск хранимой процедуры в ORACLE
    #32709787
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. как запустить хранимку?
создан pass thru запрос,
настроены его параметры
(не возвращает строк = да и тд)
в теле пишу как в SQLPlus отрабатывает:

execute P_LOAD_INDATA;

(процедура без параметров)

а Access ругается

2. сколько ставить timeout?
процедура работает около 20 минут

что будет, если не успеет отработать за установленный timeout?
отмена исполнения процедуры
или она все ж выполнится?

спасибо!
...
Рейтинг: 0 / 0
запуск хранимой процедуры в ORACLE
    #32710478
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос вообще-то по Access..
неужели никто и никогда?
...
Рейтинг: 0 / 0
запуск хранимой процедуры в ORACLE
    #32710482
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а код как запускаешь покажи
...
Рейтинг: 0 / 0
запуск хранимой процедуры в ORACLE
    #32710832
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я пытаюсь выполнить сохраненный запрос ;)
все как по F1 - и источник ODBC настроен, и сюси-пуси

DELETE FROM serv_tabl
Truncate table serv_tabl
- на ура!

execute или call - фигу!
"объект не найден"
...
Рейтинг: 0 / 0
запуск хранимой процедуры в ORACLE
    #32711039
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой драйвер используете для доступа к ОРАКЛ???
Direct Driver 5.0 работает и быстрее чем ОДБС
...
Рейтинг: 0 / 0
запуск хранимой процедуры в ORACLE
    #32711049
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон чем MS driver for oracle
...
Рейтинг: 0 / 0
запуск хранимой процедуры в ORACLE
    #32712196
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
испоьзую родной Oracle driver for ODBC - скорость 10 записей/сек

что такое direct driver?
где брать?

и главный вопрос - как хранимку-то запустить?!!
...
Рейтинг: 0 / 0
запуск хранимой процедуры в ORACLE
    #32724156
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Урра!!!
Для потомства:
из ODBC вызывать процедуру Oracle так:

call ADM_SP_DAILY_MANBAL ('20-sep-2004','03-sep-2004');

или так:

call ADM_SP_DAILY_MANBAL (to_date('21/09/2004','dd/mm/yyyy hh24:mi:ss'),to_date('03/09/2004','dd/mm/yyyy hh24:mi:ss'));

Конкретно из VBA/MSAccess: настраивается Pass-Thru Query к конкретному ODBC и сохраняется
(здесь - сохранен как PT_Create_Manbal):

Sub Exec_SP_DAILY_MANBAL(datenow As Date, dateprev As Date)

Dim q As QueryDef
Set q = CurrentDb.QueryDefs("PT_Create_Manbal")
q.SQL = "call ADM_SP_DAILY_MANBAL (to_date('" & Format(datenow, "dd/mm/yyyy") & "','dd/mm/yyyy hh24:mi:ss'),to_date('" & Format(dateprev, "dd/mm/yyyy") & "','dd/mm/yyyy hh24:mi:ss'));"
q.Close
q.Execute
q.Close
Set q = Nothing
End Sub
...
Рейтинг: 0 / 0
запуск хранимой процедуры в ORACLE
    #32724257
Фотография kedzo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попроще.
и, кстати - можно ловить ошибку

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Sub Exec_proc(cmdString)
On Error GoTo Err_Exec_proc

Dim con As ADODB.Connection

Set con = New ADODB.Connection
      With con
        .ConnectionString = "DSN=cms_mos;"
        .CursorLocation = adUseClient
        .Open
      End With
      
      con.Execute cmdString, "dbSQLPassThrough"

Exit_Exec_proc:
Exit Sub

Err_Exec_proc:
  MsgBox Err.Description
  Resume Exit_Exec_proc

End Sub

...
Рейтинг: 0 / 0
запуск хранимой процедуры в ORACLE
    #32724583
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попроще - так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Sub Exec_SP_DAILY_MANBAL_ADO(tdate As Date, tdatePREV As Date, usr, pas)
Dim tmBegin
    Dim objConn As New ADODB.Connection
    Dim objRs As New ADODB.Recordset
    Dim objComm As New ADODB.Command
    
    With objConn
        .Provider = "MSDAORA"
        .ConnectionString = "Data Source=DSNNAME;User ID=" & usr & "; Password=" & pas & ";"
        .Open
    End With
    
     ' Connect to the data source. 
    
     ' Set a stored procedure 
    objComm.CommandText = "ADM_SP_DAILY_MANBAL"
    objComm.CommandType = adCmdStoredProc
    Set objComm.ActiveConnection = objConn

     ' Execute the stored procedure on 
     ' the active connection object... 
     '    "ALFKI" is the required input parameter, 
     '    objRs is the resultant output variable. 
tmBegin = Timer
    objConn.ADM_SP_DAILY_MANBAL tdate, tdatePREV
    
    
     'Clean up. 
 '    objRs.Close 

    objConn.Close
    Set objRs = Nothing
    Set objConn = Nothing
    Set objComm = Nothing

 'http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdconstoredprocasmethodonconnection.asp 

 'MsgBox "Executing complete in " & TimeStamp(Timer - tmBegin) 
End Sub

Да, можно ловить ошибки,
но нужно второй раз логиниться (первый - ODBC-драйверу)
...
Рейтинг: 0 / 0
запуск хранимой процедуры в ORACLE
    #32724615
Фотография kedzo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня второй раз логин не спрашивает, и в третий раз не спрашивает, и в четвертый.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запуск хранимой процедуры в ORACLE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]