IIS5 - ODBC - имя источника данных не найдено, и драйвер по умолчанию не указан

У меня возникла проблема с использованием ODBC-соединения с IIS.
Вот моя конфигурация:

  • IIS 5 в Windows XP
  • ASP.NET 2.0
  • Оракул 9
  • VS 2005

Когда я тоже пытаюсь использовать свое веб-приложение в IIS, у меня возникает следующее исключение:
ОШИБКА [IM002] [Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено и не указан драйвер по умолчанию
НО, когда Я использую его как веб-сайт в VS2005, у меня не было ошибок.

Итак, я бы попытался сделать очень маленькое приложение со следующим кодом:

using System;
using System.Data;
using System.Data.Odbc;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        OdbcConnection con = new OdbcConnection();
        con.ConnectionString = "DSN=<MyDSN>;Uid=<LOGIN>;Pwd=<PASSWORD>";

        IDbCommand com = new OdbcCommand();
        com.CommandText = "select sysdate from dual;";
        com.CommandType = CommandType.Text;
        com.CommandTimeout = 30;
        com.Connection = con;

        try
        {
            con.Open();
            Response.Write(com.ExecuteScalar());
        }
        finally
        {
            if (con.State == ConnectionState.Open)
                con.Close();
        }
    }
}

Он отлично работает на веб-сервере VS (например: http://localhost:3715/Web/Default.aspx), но у меня такое же исключение (IM002), когда я использую его в IIS (то есть: http://localhost/Tester/default.aspx).
Мой DSN объявлен в «Администраторе источника данных ODBC» и хорошо работает, когда я проверяю соединение…

Учетная запись ASPNET находится в той же группе, что и моя учетная запись пользователя (администраторы).
Полные права на учетную запись ASPNET на ключах HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC и HKEY_CURRENT_USER \ Software \ odbc.
Я прочитал это post, но ничего не работает ...

Я бы позаботился об ответе на stackoverflow (поиск, связанные вопросы и т. Д.), Google ... но я не нашел рабочего решения ...
Есть ли у кого-нибудь идея? ... < br> В чем моя ошибка? ...

ОБНОВЛЕНИЕ: 2011/04/06
Что я уже сделал:

  • Трассировка для ODBC: на сервере VS’Web я получил логи; но в IIS нет ...
  • Системный и Пользовательский DSN заполняются одной и той же информацией.
  • Разрешить учетным записям ASPNET, IUSR_XXX, IWAN_XXX и всем пользователям (sic…) полные права на:% ORACLE_HOME%, HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC, HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE

Windows, VS и IIS предназначены для 32-битных версий (поэтому нет c: \ windows \ syswow64).

Проверьте значение PATH и сначала поместите% ORACLE_HOME%.

IIS сбрасывался каждый раз, когда я вносил изменения, мой компьютер перезагружался дважды.

Но теперь я получил это сообщение:
ERROR [IM003] Указанный драйвер не может быть загружен из-за системной ошибки 998 (Oracle dans OraHome92).

И я наконец нашел ... Администраторы установили все драйверы, чтобы их мог использовать только пользователь ...
Я бы создал системный env var ORACLE_HOME ...
Был только пользователь var : s

Спасибо за вашу помощь.
Я подтверждаю ответ Гарри М. Биггса из-за разницы между системой / пользователем ...


person kerrubin    schedule 05.04.2011    source источник


Ответы (3)


Убедитесь, что вы создали Системный DSN, а не Пользовательский DSN.

IIS будет работать как системная служба и, следовательно, не будет иметь доступа к записям реестра пользователей ...

person Garry M. Biggs    schedule 06.04.2011

Была эта проблема ..
Лучшее решение - переустановить драйвер odbc ... у меня сработало ..
записи реестра в вашей системе могли быть изменены.

Я полностью удалил и установил заново ... у меня сработало ... хромое, но быстрое решение.

person Sidharth    schedule 09.11.2011

  1. Может быть, ваша система - это 64-битная версия Windows, а IIS - 64-битная, а VS - 32-битная? Если да, посмотрите мои ответы: строка подключения odbc не работает на windows 7

  2. Если вы можете подключиться из одной среды, а не из другой, включите трассировку ODBC и сравните файлы журналов. MS описала это по адресу: http://support.microsoft.com/kb/274551

person Michał Niklas    schedule 06.04.2011