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

execute P_LOAD_INDATA;

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

а Access ругается

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

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

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

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

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

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

и главный вопрос - как хранимку-то запустить?!!
...
Рейтинг: 0 / 0
05.10.2004, 14:48:10
    #32724156
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запуск хранимой процедуры в ORACLE
Урра!!!
Для потомства:
из 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
05.10.2004, 15:16:25
    #32724257
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запуск хранимой процедуры в ORACLE
попроще.
и, кстати - можно ловить ошибку

Код: 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
05.10.2004, 17:16:25
    #32724583
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запуск хранимой процедуры в ORACLE
Попроще - так:

Код: 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
05.10.2004, 17:33:27
    #32724615
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запуск хранимой процедуры в ORACLE
у меня второй раз логин не спрашивает, и в третий раз не спрашивает, и в четвертый.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запуск хранимой процедуры в ORACLE / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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