
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.02.2010, 14:31
|
|||
|---|---|---|---|
|
|||
передача строкового параметра в хранимую процедуру |
|||
|
#18+
Помогите если кто сможет, я уже себе весь мозг "стоптал" этой проблемой. Есть сервер на MS SQL 2000, на нем написана куча хранимых процедур, работают они давно и без сбоев. Теперь возникла необходимость вызывать некоторые процедуры из Excel и тут произошел гигантский затык. Если процедура получает числовые параметры(adinteger например) то все работает как часы, если же необходимо передать строковый (advarchar) - то возвращается пустой набор, т.е. нет даже названий столбцов, у объекта recordset.fields всего одно свойство count равное 0. т.е. если с примерами: Dim Cn As New ADODB.Connection Dim Cmd As New ADODB.Command Dim rs As New ADODB.Recordset cn_string = "Строка Подключения" Cn.Open (cn_string) Cmd.ActiveConnection = Cn Cmd.CommandType = adCmdStoredProc Cmd.CommandText = "Имя процедуры 1" Cmd.Parameters.Refresh Cmd.Parameters("@Param_1").Value = 2 Cmd.Parameters("@Param_2").Value = 123456 Set rs = Cmd.Execute Работает отлично, а Dim Cn As New ADODB.Connection Dim Cmd As New ADODB.Command Dim rs As New ADODB.Recordset cn_string = "Строка Подключения" Cn.Open (cn_string) Cmd.ActiveConnection = Cn Cmd.CommandType = adCmdStoredProc Cmd.CommandText = "Имя процедуры 2" Cmd.Parameters.Refresh Cmd.Parameters("@Param_1").Value = "text" Set rs = Cmd.Execute Возвращает пустой набор. Что интересно, если параметру присвоить значение Null - то возвращается тоже пустой набор но со всеми свойствами, т.е. у RecordSet.Fields.item1...itemN есть имена полей и прочие свойства. И свойство count = количеству полей. Вызывать процедуру по разному, задавать параметры и их типы явно, отправлять параметры в Unicode или в другом формате, добавлять различные кавычки, формировать строку символами ASCII я это все пробовал, ситуация не изменяется ни на йоту. Если попробовать передать явно ошибочный параметр - возвращается сообщение об ошибке, если передать Null возвращается нормальная структура и пустой набор, если передать правильный параметр - возвращается пустой набор без структуры. Что делать и в каком направлении копать - идей уже больше нет. Так что вот - взываю о помощи... :) Помогите кто чем сможет. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.02.2010, 09:53
|
|||
|---|---|---|---|
|
|||
передача строкового параметра в хранимую процедуру |
|||
|
#18+
Уппсс... Сорри всем. Оказывается три дня ковырял проблему не в ту сторону. С передачей параметра проблем никаких нет, просто процедура оказывается возвращает более одного RecordSet. Так что проблема легко решилась через NextRecordset. Тему можно закрывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=17&mobile=1&tid=1351476]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
181ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 522ms |

| 0 / 0 |
