Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
dimka_68
Member

Откуда:
Сообщений: 3
Здравствуйте, помогите, пожалуйста по такому вопросу:
При попытке подключения возникает следующая ошибка
Warning: odbc_pconnect() [function.odbc-pconnect]: SQL error: [Microsoft][Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и архитектура приложения не соответствуют друг другу.

ОС: Windows Server 2008 R2 Enterprice
MSSQL Server 2008
php 5.2
IIS 7
Версии драйвера, которые использовал:
SQL Server 6.01.7601.17514 SQLSRV32.DLL
SQL Native Client 10.0 2009.100.1600.01 SQLNCLI10.DLL

Возможно, я что-то подключил не так, так как первый раз имею дело с ODBC. Что я делал:
1. Создал системный DSN, обозвал так же, как и называется база, MSSQL Server на этой же машине, проверка подлинности SQL Server(указал данные по которым связываюсь, используя pdo_mssql). Тест на проверку источника данных проходит успешно.
2. В php.ini подключено pdo_odbc_mssql
3. Создал новый пул приложений и поместил туда своё, а в пуле приложений разрешил запуск 32-битных приложений

код, выдающий ошибку:

<?php
$conn=odbc_pconnect("dsn", "user", "pass");
if (!$conn){
    if (phpversion() < '4.0'){
      exit("Connection Failed: . $php_errormsg" );
    }
    else{
      exit("Connection Failed:" . odbc_errormsg() );
    }
}
?>
3 сен 13, 10:45    [14788094]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
вам ,скорее всего в форум по пхп надобно
3 сен 13, 10:57    [14788163]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
Версии драйвера, которые использовал:
SQL Server 6.01.7601.17514 SQLSRV32.DLL
SQL Native Client 10.0 2009.100.1600.01 SQLNCLI10.DLL


А это

автор
Windows Server 2008 R2 Enterprice
MSSQL Server 2008
php 5.2
IIS 7


небось всё x64?
3 сен 13, 11:07    [14788220]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
dimka_68
Member

Откуда:
Сообщений: 3
Решено!!
если у кого возникла такая же ситуация.
http://www.tech-recipes.com/rx/32525/odbc-error-the-specified-dsn-contains-an-architecture-mismatch/
Нужно запустить c:\Windows\sysWOW64\odbcad32.exe и создать там системный DSN. Видимо это 32-битная версия администратора источников данных ODBC. Ну и, скорее всего, не забыть в пуле приложений разрешить запуск 32-битных приложений
3 сен 13, 11:11    [14788248]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10436
dimka_68
Решено!!
если у кого возникла такая же ситуация.
http://www.tech-recipes.com/rx/32525/odbc-error-the-specified-dsn-contains-an-architecture-mismatch/
Нужно запустить c:\Windows\sysWOW64\odbcad32.exe и создать там системный DSN. Видимо это 32-битная версия администратора источников данных ODBC. Ну и, скорее всего, не забыть в пуле приложений разрешить запуск 32-битных приложений


вполне возможно
3 сен 13, 15:37    [14789902]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
dimka_68
Member

Откуда:
Сообщений: 3
Winnipuh,

Что написал в точности наоборот, это я осознал, когда уже написал...=))) Только тогда вопрос: Почему админ ист данных ODBC, который запускается из главного меню - администрирование 32-х битный, а версия ОС 64. Я не представляю как это работает, поэтому в моих словах может быть доля чуши.
Если кто-то сможет более менее разъяснить, что к чему был бы весьма благодарен...=))
3 сен 13, 17:13    [14790546]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
o-o
Guest
еще раз:
A 64-bit version of the Microsoft Windows operating system includes the following versions of the Microsoft Open Database Connectivity (ODBC) Data Source Administrator tool (Odbcad32.exe):

The 32-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\SysWoW64 folder.
The 64-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\System32 folder.
3 сен 13, 17:28    [14790659]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
o-o
Guest
dimka_68
Winnipuh,

Что написал в точности наоборот, это я осознал, когда уже написал...=))) Только тогда вопрос: Почему админ ист данных ODBC, который запускается из главного меню - администрирование 32-х битный, а версия ОС 64.


из меню 64-битной винды запускается 64-битное же ODBC.
3 сен 13, 17:34    [14790703]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10436
dimka_68
Winnipuh,

Что написал в точности наоборот, это я осознал, когда уже написал...=))) Только тогда вопрос: Почему админ ист данных ODBC, который запускается из главного меню - администрирование 32-х битный, а версия ОС 64. Я не представляю как это работает, поэтому в моих словах может быть доля чуши.
Если кто-то сможет более менее разъяснить, что к чему был бы весьма благодарен...=))


написал правильно ;)
3 сен 13, 18:00    [14790892]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
nerv
Member

Откуда:
Сообщений: 732
эх, подниму старую тему.
У меня источник FireBird 32 разрядный, а приемник - MS SQL 2008 R2 - 64 разрядный.

Поставил ODBC Driver 64 разрядный для FireBird, в odbcad32.exe для 64-разрядной не могу создать коннект для FireBird - не нравится клиент GDS32.dll, так как он 32-разрядный.

Если же создаю коннект в 32-разрядной odbcad32.exe , то коннект создается успешно.
Однако, если попытаться в VisualStudio службой SSIS импортировать данные из FireBird в MS SQL, то получаю
[Microsoft][Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и архитектура приложения не соответствуют друг другу.
+
[Источник - ADO NET [97]] Ошибка: System.Data.Odbc.OdbcException: ERROR [IM014] [Microsoft][Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и архитектура приложения не соответствуют друг другу.
в System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
в System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
в System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
в System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
в System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
в System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
в System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
в System.Data.Odbc.OdbcConnection.Open()
в Microsoft.SqlServer.Dts.Runtime.ManagedHelper.GetManagedConnection(String assemblyQualifiedName, String connStr, Object transaction)
в Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManager100.AcquireConnection(Object pTransaction)
в Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.AcquireConnections(Object transaction)
в Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostAcquireConnections(IDTSManagedComponentWrapper100 wrapper, Object transaction)


какой выход в моем случае может быть?
23 авг 19, 02:23    [21956132]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48628
nerv
не могу создать коннект для FireBird - не нравится клиент GDS32.dll, так как он 32-разрядный.

Во-первых, клиент Firebird это fbclient.dll.
Во-вторых, у него существует и 64-х разрядная версия.
В-третьих, разрядность сервера Firebird клиенту сугубо безразлична.
23 авг 19, 13:34    [21956443]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
nerv
Member

Откуда:
Сообщений: 732
Dimitry Sibiryakov, у меня IB Expert цепляется через gds32
64-разрядный сервер не получится, так как у заказчика на 32-разрядной машине крутится.
23 авг 19, 15:03    [21956537]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6954
nerv,

не пойму, все клиенты и SQL серверы на одном компьютере, что ли?
23 авг 19, 16:55    [21956642]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
Александр Спелицин
Member

Откуда: Из ближайшего подмосковья.
Сообщений: 2478
nerv,
Вы сначала определитесь с разрядностями.
То у Вас приемник - MS SQL 2008 R2 - 64 разрядный, то "... у заказчика на 32-разрядной машине крутится."
Для 64бит клиента, коим является 64бит MSSQL надо ставить 64бит клиента Firebird.
Для 32бит клиента, коим является IB Expert надо ставить 32бит клиента Firebird.
А если у Вас оба клиента FB ставят fbclient.dll в одно и то же место (SYSTEM32), то это проблема создателей дистрибутивов.
Разрядность сервера FB тут ни на что не влияет.
23 авг 19, 18:39    [21956694]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
nerv
Member

Откуда:
Сообщений: 732
друзья, подскажите тогда плиз, какого клиента надо поставить (что рекомендуете) и какие ODBC драйвера развернуть.

Написал несколько запутанно, простите, поясняю.

Я разработку веду на виртуалке Win 2008 R2 64 разрядная.
У меня установлен на этой виртуалке MS SQL Server 2008 R2 64 разрядная
и на этой же виртуалке FireBird 2.5 32 разрядный (так как такой же стоит у клиента с его программой)

У клиента стоит FireBird 2.5 32 разрядный и Windows там стоит 32 разрядный
Другая машина Win 2008 R2 64 разрядная с MS SQL Server 2008 R2 64 разрядная

Хотелось бы прилинковать FireBird к MS SQL и использовать Visual Studio для создания Integration Services Package c последующим его запуском через Job.
23 авг 19, 19:51    [21956740]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48628
nerv
у меня IB Expert цепляется через gds32

Сугубо всё равно: IBExpert не имеет никакого отношения к данному топику.

nerv
64-разрядный сервер не получится, так как у заказчика на 32-разрядной машине крутится.

Повторяю медленно: разрядность сервера совершенно безразлична. Вообще. Никак.

Александр Спелицин
А если у Вас оба клиента FB ставят fbclient.dll в одно и то же место (SYSTEM32), то это проблема создателей дистрибутивов.

Нет, это правильное, предусмотренное MS поведение: для 32-х разрядных приложений SYSTEM32 совсем другой чем для 64-х разрядных, несмотря на одинаковое имя.
24 авг 19, 13:36    [21956951]     Ответить | Цитировать Сообщить модератору
 Re: php, IIS, ODBC, MSSQL, архитектура драйвера и архитектура приложения не соответствуют  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3155
nerv
эх, подниму старую тему.
У меня источник FireBird 32 разрядный, а приемник - MS SQL 2008 R2 - 64 разрядный.

Поставил ODBC Driver 64 разрядный для FireBird, в odbcad32.exe для 64-разрядной не могу создать коннект для FireBird - не нравится клиент GDS32.dll, так как он 32-разрядный.

Если же создаю коннект в 32-разрядной odbcad32.exe , то коннект создается успешно.
Однако, если попытаться в VisualStudio службой SSIS импортировать данные из FireBird в MS SQL, то получаю
[Microsoft][Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и архитектура приложения не соответствуют друг другу.
+
[Источник - ADO NET [97]] Ошибка: System.Data.Odbc.OdbcException: ERROR [IM014] [Microsoft][Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и архитектура приложения не соответствуют друг другу.
в System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
в System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
в System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
в System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
в System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
в System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
в System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
в System.Data.Odbc.OdbcConnection.Open()
в Microsoft.SqlServer.Dts.Runtime.ManagedHelper.GetManagedConnection(String assemblyQualifiedName, String connStr, Object transaction)
в Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManager100.AcquireConnection(Object pTransaction)
в Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.AcquireConnections(Object transaction)
в Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostAcquireConnections(IDTSManagedComponentWrapper100 wrapper, Object transaction)


какой выход в моем случае может быть?


[Microsoft][Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и архитектура приложения не соответствуют духу времени
26 авг 19, 09:39    [21957479]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить