|
|
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Выдает код ошибки Error Type: (0x80040E14) Вроде как ошибка синтаксеса...но приэтом действия все проходят. <% dim connect, rs, cmd, rss dim sid sid=Request("ID")(1) set connect=Server.CreateObject("ADODB.Connection") connect.ConnectionTimeout=15 connect.CommandTimeout=10 connect.Open "Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=Test;Data Source=SQL\TEST;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False" set cmd=Server.CreateObject("ADODB.Command") cmd.CommandType=adCmdStoredProc cmd.CommandText="deletecustomers" cmd.ActiveConnection=connect cmd.Parameters.Append cmd.CreateParameter("id",adVarWChar,adParamInput,100,sid) set rs=cmd.Execute %> <p class="zaglavie">Успешно</p> <% rs.close connect.close %> Ошибка на строчке set rs=cmd.Execute. Причем если это идет выборка из страниц то нет ее. Если идет изменение таблиц она появляется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 10:53:31 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
А rs вообще нужен? Используется он где-нибудь? Если просто сказать cmd.Execute ошибка такая-же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 11:07:51 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
да все тоже самое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 11:18:36 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
set rs=cmd.Execute - это при select rs - "помещается" результат cmd.Execute - это при Inset update delete пробуй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 11:35:41 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Попробывал все тожее самое. Таже ошибка в той же строчке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 11:39:20 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Кстати, если процедура не возвращает рекордсета, то rs.close будет давать ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 11:45:07 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
непомогло. То есть получается что здесь не возвращается recordset. Может имеет смысл переписать с его использованием. Если так то помогите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 12:12:48 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Такой вариант: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 12:25:25 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Ребят все то же самое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 12:45:13 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Тогда так, кондово: ::: set cmd=Server.CreateObject("ADODB.Command") cmd.CommandType=adCmdText cmd.ActiveConnection=connect set rs=cmd.Execute "deletecustomers '" & sid &"'" %> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 12:56:51 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Неа не проходит....., пишет все тоже самое. Довольно странно Тока у меня же процедура исполняется а не текст... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 13:01:24 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Если выполняется ХП, то все в порядке. Возможно ошибка связана с установками OLE DB провайдера (типа Security). ЗЫ ИМХО конечно, но объект ADODB.Command - для тех, кто любит трудности. И все эти примочки, типа adCmdStoredProc etc способны только запутать больше, чем помочь, т.к. ХП прекрасно интерпретируются, как обычные команды SQL, и при этом не нужно регистрировать их параметры с помощью хитровыстраданной :0) процедуры (метода). Все, что необходимо для работы с SQL сервером из приложения можно достичь используя только ADODB.Connection & ADODB.Recordset. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 13:13:58 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
То есть ты предлагаешь вставлять в ASP SQL строчек в которых около 200 или более строчек будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 13:37:53 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Каких строчек и где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 13:47:43 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
1. А кроме кода ошибки есть сообщение о ней ? 2. Весь ли это ASP код или может быть вы опустили некоторые строки как несущественные ? 3. Текст процедуры тоже хотелось бы увидеть (если там SET NOCOUNT ON, например) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 13:57:18 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Нет такой строчки счас там нет но я и пробывал ее вставить. Конешно это почти не существенно, так как процедура сама выполняется, но ведь на страницу вываливается ошибка вот процедура CREATE procedure dbo.deletecustomers @id nvarchar(50) as delete from customers where @id=NameID простенькая. А если нужно вставлять эту строчку то в какое место7 Я ставил между as и delete ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 14:14:05 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Вместо cmd.Parameters.Append cmd.CreateParameter("id",adVarWChar,adParamInput,100,sid) я бы написал cmd("@id")=sid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 15:30:00 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Можно конечно вообще забить на Command и просто написать connect.Execute "deletecustomers '" & sid &"'" Но так ты собственноручно сделаешь дырку в защите. Если безопасность несущественна, то сделай так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 15:43:02 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Я конечно не великий знаток АДО, но Что должен вернуть вызов cmd.Execute Вы думаете рекордсет? Но вы пользуетесь ADODB.Command, при этом вызываете процедуру. Если бы вы использовали в cmd.CommandText select - тогда понятно, но это-же вызов процедуры!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 15:53:22 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
2 VVG_ Что же это за нарушение правил безопасности, указывать команду текстом в ASP-скрипте? Кто-то прямо на сервере перехватит? Хотелось бы подробностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 16:09:34 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
2 idef Похоже Вы правы. Set rs = cmd.Execute имеет смысл только в том случае, если ХП (или команда) возвращают набор данных. Если же нет результатов, то просто cmd.Execute Кстати и oda об этом говорил(а). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 16:14:47 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Ребят! Давай те не отвлекаться.....ут проблема такая. Может она из-за того что у меня SQL 2000 не пропачен на SP2? Или из-за того что ADO разные версии или тоже не пропачены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 16:17:29 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
<% dim connect, rs, cmd, rss dim sid sid=Request("ID")(1) set connect=Server.CreateObject("ADODB.Connection") connect.ConnectionTimeout=15 connect.CommandTimeout=10 connect.Open "Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=Test;Data Source=SQL\TEST;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False" set cmd=Server.CreateObject("ADODB.Command") cmd.CommandType=adCmdStoredProc cmd.CommandText="deletecustomers" cmd.ActiveConnection=connect cmd.Parameters.Append cmd.CreateParameter("id",adVarWChar,adParamInput,100,sid) cmd.Execute %> <p class="zaglavie">Успешно</p> <% rs.close connect.close %> MSDN ADO 2.7: Execute raises an error if the user specifies a value for CommandStream when the CommandType is adCmdStoredProc, adCmdTable, or adCmdTableDirect. ЗЫ. ("id",adVarWChar,adParamInput,100,sid) В процедуре - nvarchar(50) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 16:25:09 |
|
||
|
Ошибка синтаксиса. ASP+SQL
|
|||
|---|---|---|---|
|
#18+
Сорри: Ссылка на MSDN немного не в тему :) Смысл: такой операция удаления из базы по определению не может возвратить рекордсет... И Выдает код ошибки Error Type: (0x80040E14) Скорее всего ошибка создания объекта Vb скриптом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 16:28:09 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32049734&tid=1820397]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
58ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 357ms |

| 0 / 0 |
