|
|
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста найти ошибку. У хранимой процедуры 1 входной параметр и 2 выходных. Она вызывается на ASP странице. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Мне выводится ADODB.Command ошибка '800a0bb9' Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. и указатель на строку №4 ,т.е. где RSproc.CommandType = adCmdStoredProc Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2002, 14:55:52 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Вот так правильно Код: plaintext 1. 2. 3. 4. 5. Основная ошибка - незнание документации. Sorry ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2002, 15:15:59 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Спасибо. Это действительно - основная ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2002, 15:29:24 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Хм, ужасно неудобно, но ... все равно не получается. Подскажите еще разок ... ну пожаааалуйста. Девушкам ведь надо помогать в освоении этой сложной науки :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. И опять та же ошибка, на строку RSproc.CommandType = adCmdStoredProc ADODB.Command ошибка '800a0bb9' Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. Эх,... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 08:29:51 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Обратите внимание, оператор присваивания во второй строке начинается с ключевого слова Set. Ну и я обычно сначала присваиваю имя команде, а затем тип. Если команда только что создана такой порядок позволяет обойтись без Parameters.Refresh ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 09:20:16 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
К сожалению, появляется все та же ошибка.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 09:30:05 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Совсем забыл, что в VBS не определены константы ADO. Решение проблемы описано ниже в разделе Workaround. Надеюсь, вы читаете по-английски PRB: 800a0bb9 Error: "Application Is Using Arguments that Are of the Wrong Type" ID: Q254517 -------------------------------------------------------------------------------- The information in this article applies to: ActiveX Data Objects (ADO), versions 1.5, 2.0, 2.01, 2.1, 2.1 SP1, 2.1 SP2, 2.5, 2.6 -------------------------------------------------------------------------------- SYMPTOMS When you view an Active Server Pages (ASP) page that makes parameterized calls to ASP objects, the following error message appears: error '800a0bb9' The application is using arguments that are of the wrong type, or are out of acceptable range, or are in conflict with one another. /ProjectName/Page.asp, line X This is often an ADODB.Recordset error. CAUSE This problem is often caused by the code using ADO constants that have not been defined for the page. For example: <% set cn=server.CreateObject("ADODB.Connection") CN.Open "DSN=Gallery" set rs=Server.CreateObject("ADODB.Recordset") rs.Open "Select * From Customers", CN, adOpenStatic, adLockOptimistic %> ASP does not inherently know the values of ADO constants, and therefore the two constants (in this case adOpenStatic and adLockOptimistic) are empty. WORKAROUND There are several difference ways that you can work around this problem: Use the actual constant values: <% set cn=server.CreateObject("ADODB.Connection") CN.Open "DSN=Gallery" set rs=Server.CreateObject("ADODB.Recordset") rs.Open "Select * From Customers", CN, 3, 3 %> Set the constants: <% Const adOpenStatic = 3 Const adLockOptimistic = 3 set cn=server.CreateObject("ADODB.Connection") CN.Open "DSN=Gallery" set rs=Server.CreateObject("ADODB.Recordset") rs.Open "Select * From Customers", CN, adOpenStatic, adLockOptimistic %> Include the Adovbs.inc file with all the constants. You can copy the Adovbs.inc file to your Web projects directory on the Web server from [drive]:\Program files\Common files\System\ADO. <!--#include file="adovbs.inc"--> <% set cn=server.CreateObject("ADODB.Connection") CN.Open "DSN=Gallery" set rs=Server.CreateObject("ADODB.Recordset") rs.Open "Select * From Customers", CN, adOpenStatic, adLockOptimistic %> If the page is part of a project that was written in Microsoft Visual InterDev, you can set a reference to the ADO type libraries in the project by following these steps: Open the project in Visual InterDev. From the Project menu in Visual InterDev, choose Project References. In the References dialog box, select Microsoft ActiveX Data Objects Library and click OK. STATUS This is by design. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 09:56:50 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
ИМХО, это делается намного проще и совсем по-другому. Вот пример от Микрософт. Посмотрите и переделайте, если возникнут трудности - постараемся помочь. За работоспособность данного способа ручаюсь, у меня все работает как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 09:58:44 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
2NNN: ИМХО Единственное существенное отличие, которое есть в приведенном примере, так это то, что в нем программист сам заполняет коллекцию Parameters в команде ADO. В чем упрощение? А вообще примерами пользоваться конечно надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 10:12:09 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
2 Chicago > В чем упрощение? вы уже сами ответили на этот вопрос: > программист сам заполняет коллекцию Parameters в команде ADO. Следовательно, больше контроля на кодом. Таким образом возможно отследить тип каждого отдельного параметра (бывает так, что заявленные типы параметров в vb и sql server не совсем совпадают, кажись мы натыкались на такое ). Кроме того, в примере объявлен тип передаваемой команды (adCmdStoredProc), что позволяет не указывать в текст команды параметры (со временем ведь что-то может измениться). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 11:07:06 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
2NNN: А кто предлагает писать параметры в тексте команды? Если вы внимательно посмотрите на примеры, то я всегда предлагал писать так Код: plaintext 1. 2. В предлагаемом коде параметры действительно вытягиваются с сервера автоматически. Но на контроль над кодом это не влияет никак. Все необходимые значения свойств можно изменить сразу после автоматического заполнения коллекции Parameters. Что опять-таки видно из моих примеров Код: plaintext 1. Таким образом, объем кодирования сокращается. Ведь выставляются только необходимые значения свойств параметров. Все возможности сохраняются. Так что же проще? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 11:57:33 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
To Inebs Что-то код мне Ваш не нравится откуда там cmd взялось? Я бы так написала (правда, JavaScript, но переделать не проблема) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ad... - это ADO-константы типов данных ... - это размер Этот код меня не подводил, однако Ваша ошибка м.б. и от того, что действительно неправильные типы данных, например, из HTML формы можно получать только текстовые поля, соответственно NULL форма дать не может, только "". И.т.д. Всего доброго! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 13:04:48 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Вы сказали, что можно в случае чего обратиться.... Я попробовала все переделать по советам, получилось вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Ошибка та же. ADODB.Command ошибка '800a0bb9' Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 11:19:01 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Пожалуйста, прочитайте мое предыдущее сообщение. Мне кажется, оно и содержит ответ на ваш вопрос (там приведена соответствующая статья из Microsoft Knowledge Base). По умолчанию VBScript ничего не знает о константах ADO. Поэтому, когда в коде встречается Код: plaintext Решение проблемы см. в моем предыдущем сообщении раздел Workaround ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 11:35:33 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
<#include file="adovbs.inc"> Но это может сказаться на производительности, если в каждом скрипте добавлять интерпретатору обработку достаточно большого файла. Можно выучить константы и просто писать RSproc.CommandType=4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 11:56:46 |
|
||
|
В чем ошибка?
|
|||
|---|---|---|---|
|
#18+
Урра! До меня наконец-то дошло что от меня требуется. Всем большое спасибо. Теперь я хоть поняла, в чем дело и куда смотреть,чтобы исправить. И наверное из-за этого, когда я писала всякие курсоры по названию они не работали,да? Ох, теперь пойду разбираться .... надеюсь, получится. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 12:58:27 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32068258&tid=1818782]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 299ms |

| 0 / 0 |
