|
|
|
Как вызвать хранимку из Excel
|
|||
|---|---|---|---|
|
#18+
Что то не выходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 17:47:45 |
|
||
|
Как вызвать хранимку из Excel
|
|||
|---|---|---|---|
|
#18+
а как вы вызываете? I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 11:24:11 |
|
||
|
Как вызвать хранимку из Excel
|
|||
|---|---|---|---|
|
#18+
'=================================================================== ' Функция вызова хранимки с передачей параметров '=================================================================== Function GetRecordSet(ProcedureName, ProcParArr) Dim Prm ', RS Dim i Dim Par Dim cn As ADODB.Connection Dim Cmd As ADODB.Command Dim rs As ADODB.Recordset Dim db As ADODB.Connection Set cn = CreateObject("ADODB.Connection") cn.Open "Driver={SQL Server}; Server=MyServer; UID=" + stringLogin + "; PWD=" + stringPWD + ";Database=MyDatabase" Set Cmd = CreateObject("ADODB.Command") Set rs = CreateObject("ADODB.Recordset") Set Cmd.ActiveConnection = cn Cmd.CommandType = 4 Cmd.CommandText = "ap_rep_balance" Dim iParam Set iParam = Cmd.CreateParameter("@plan", 3, 1) iParam.Value = 70 Cmd.Parameters.Append iParam Set iParam = Cmd.CreateParameter("@crc", 3, 1) iParam.Value = 0 Cmd.Parameters.Append iParam Set iParam = Cmd.CreateParameter("@Start", 7, 1) iParam.Value = DateSt Cmd.Parameters.Append iParam Set iParam = Cmd.CreateParameter("@End", 7, 1) iParam.Value = DateEnd Cmd.Parameters.Append iParam Set iParam = Cmd.CreateParameter("@mcid", 3, 1) iParam.Value = 1 Cmd.Parameters.Append iParam rs.Open Cmd, , 3 MsgBox (CStr(rs.RecordCount)) Set Cmd = Nothing End Function Ругается :-( на Rs.Open Run-time error ' -2147217887 (80040e21) '; [Microsoft][ODBC SQL Server Driver] Optional feature not implemented ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 14:14:40 |
|
||
|
Как вызвать хранимку из Excel
|
|||
|---|---|---|---|
|
#18+
Проблема скорее всего в том, что неправильно преобразуются параметры Это часто связанно с параметрами типа "ДАТА" Попробуйте их передавать как строку вида YYYYMMDD I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 14:46:07 |
|
||
|
Как вызвать хранимку из Excel
|
|||
|---|---|---|---|
|
#18+
Даже если запустить хранимку без параметров "ap_users_load", rs.recordcount = -1 , rs.state = 1 (открыт) хотя в SQL Server Managemernt studio sql2005 запрос возвращает много строк если поставить cn.Provider = "sqloledb", - то же самое rs.recordcount = -1 , rs.state = 1 (открыт) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 18:32:54 |
|
||
|
Как вызвать хранимку из Excel
|
|||
|---|---|---|---|
|
#18+
Никогда не используй ADODB.RecordSet.RecordCount, он почти всегда врет. Читай внимательно документацию на ADO, там все объяснено. Во вторых, не указывай тип замка открывая рекордсет. Скорее всего твой драйвер просто не умеет делать оптимистичные замки. По умолчанию оно откроет с блокирующим замком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 22:27:37 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=304&tid=2183844]: |
0ms |
get settings: |
12ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 382ms |

| 0 / 0 |
