2009-07-31 3 views
1

Я получил очень простую страницу test.asp, которая должна работать на 64-разрядном сервереКлассический жерех - 64 бит MDAC ссылка проблема

первый я попытался

<!--METADATA TYPE="TypeLib" NAME="Microsoft ActiveX Data Objects 2.5 Library" UUID="{00000205-0000-0010-8000-00AA006D2EA4}" VERSION="2.5"--> 
<% 
.... more code 

не работает (даже если я нашел ссылку на COM) я стараюсь

<!--METADATA TYPE="TypeLib" NAME="Microsoft ActiveX Data Objects 2.8 Library" UUID="{2A75196C-D9EB-4129-B803-931327F72D5C}" VERSION="2.8"--> 
<% 
... more code 

это работает ,, но почему я не могу ссылаться на версию 2.5, когда библиотека существует на сервере?

+0

Если я смотрю под ссылкой в ​​Regedit. Microsoft ActiveX Data Objects 2.5 ссылки библиотек на файл C: \ Program Files (x86) \ Common Files \ System \ ado \ msado25.tlp И Microsoft ActiveX Data Objects 2.8 ссылки библиотек на файл C: \ Program Files (x86) \ Common Files \ System \ ado \ msado15.dll Мне интересно, лежит ли ответ на ограничение в 64 бит при ссылке на «.tlp» против «.dll»? – BBorg

ответ

2

Josip почти правильный MDAC 2.5 только 32 бит (2,8 имеет 64-битный вкус). По умолчанию на 64-битном сервере пул приложений будет работать с использованием 64-битных процессов. Он будет искать в 64-битной версии системного улья для ссылки на библиотеку типа 2.5, но не найдет ее (ее только в 32-разрядной версии).

Если вы отредактируете настройки пула приложений так, чтобы они работали как 32 бит, вы должны найти ссылку 2.5.

+0

thx для ответа, я считаю, что вы правы. Одно остается без ответа. Библиотека типа msado25.tlp находится в C: \ Program Files \ Common Files \ System \ ado и C: \ Program Files (x86) \ Common Files \ System \ ado, почему ссылка работает только с 2.8? Thx для вашего времени, очень оценили – BBorg

+0

Я бы догадался о его наличии для полноты, они будут одинаковыми. Единственное различие заключается в том, что 2.5 не зарегистрирован в 64-битном улье. – AnthonyWJones

+0

Есть ли причина не просто использовать 2.8? –

0

MDAC доступен только на 32-разрядной версии.

Необходимо изменить приложение на целевой x86 (по умолчанию оно предназначено для AnyCPU). Он по-прежнему будет работать на x64, но с меньшим объемом памяти.

+1

thx для помощи. Возможно, что-то не хватает чего-то ... но это классическая страница ASP, в приложении asp.net. Поэтому в основном мне нужно делать компиляцию. Почему же тогда настройка платформы влияет на результат? В любом случае, почему работает ссылка на 2.8? – BBorg

+0

В этом случае мой ответ неверен. –

+0

@Josip: Если вы считаете, что ответ неверен, его следует удалить. – AnthonyWJones

Смежные вопросы