Почему я получаю неожиданную ошибку в ado с классическим asp? - PullRequest
0 голосов
/ 17 декабря 2011

У меня есть это (у меня соединение выше всего этого не показано):

Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.CommandType = 1
cmd.Parameters.Append .CreateParameter("LASTNAME", 200, 1, 50, "JONES")
cmd.CommandText = "select * from employees where lastname = ?"
cmd.Prepared = True
Set rs = cmd.Execute

Как только я выполняю, я получаю:

    Active Server Pages error 'ASP 0115' 
    Unexpected error 

    myasppage.asp 

    A trappable error (C0000005) occurred in an external object. 
The script cannot continue running.

Я не вижу, чтоЯ делаю не такЯ пробовал разные вещи, такие как удаление подготовленных, но это не имеет никакого эффекта (пробовал и комментировал различные ошибки, но безрезультатно).

Oracle, если это имеет значение.

Спасибо за помощь.

Ответы [ 3 ]

1 голос
/ 17 декабря 2011

попробуйте изменить

cmd.Parameters.Append .CreateParameter ("LASTNAME", 200, 1, 50, "JONES")

на

cmd.Parameters.Добавить cmd.CreateParameter ("@ фамилия", 200, 1, 50, "Джонс")

1 голос
/ 18 декабря 2011

Это либо проблема с разрешениями, либо поврежденные драйверы ADO.

Во-первых, просто для устранения других вещей попробуйте этот код для отладки:

Set rs = conn.Execute("select * from employees where lastname = 'JONES'")

Если вы получаете ту же ошибку,try:

  • Проверьте разрешения учетной записи IUSR на сервере базы данных или используйте проверку подлинности SQL.
  • Переустановите MDAC на сервере до последней версии.

Кроме того, что база данных?Что такое IIS?

0 голосов
/ 17 декабря 2011

Я очень сомневаюсь, что это проблема, но это единственное, что я мог видеть.Вероятно, это просто копирование и вставка, но в этой строке кода есть дополнительное место.между .Append .Create

 `cmd.Parameters.Append .CreateParameter("LASTNAME", 200, 1, 50, "JONES")`
...