Как я соединяюсь со своим 64-разрядным SQL Server с ODBC?

Конечно, вы можете.

Java не использует информацию во время выполнения, для соображений обратной совместимости. Но информация фактически присутствует как метаданные и может быть доступна через отражение (но она еще не используется для проверки типов).

Из официального API:

http://download.oracle.com/javase/6/docs/api/java/lang/reflect/ParameterizedType.html#getActualTypeArguments%28%29

Однако для вашего сценария я бы не использовал рефлексию. Я лично больше склонен использовать это для кода рамки. В вашем случае я бы просто добавил этот тип в качестве параметра конструктора.

16
задан soapergem 23 December 2009 в 17:18
поделиться

3 ответа

Вы правы в том, что это связано с битами.

Надеюсь, это поможет:

- Из MSDN -

Для управления источником данных, который подключается к 32-разрядному драйверу на 64-разрядной платформе, используйте c: \ Windows \ SysWOW64 \ odbcad32.exe. Для управления источником данных, который подключается к 64-разрядному драйверу, используйте c: \ windows \ system32 \ odbcad32.exe. Если вы используете 64-битный файл odbcad32.exe для настройки или удаления DSN, который подключается к 32-битному драйверу, вы получите это сообщение.

27
ответ дан 30 November 2019 в 16:58
поделиться

Это сработало для меня: обновленное решение, убедитесь, что приложение IIS НЕ установлено на 32-битной в 64-разрядной Windows. Дополнительная информация: http://forum.gpsgate.com/topic.asp?TOPIC_ID=13711 из:

http://forum.gpsgate.com/topic.asp ? TOPIC_ID = 13622

0
ответ дан 30 November 2019 в 16:58
поделиться

Держу пари, что вы работаете с пользовательскими DSN.

В зависимости от вашей точки зрения, в 64-битной среде Windows есть "возможность" или "ошибка" --

  1. 32-битные пользовательские DSN появляются в 64-битном Администраторе и когда 64-битные клиентские приложения запрашивают все доступные DSN -- даже если 32-битные DSN не могут быть использованы 64-битным клиентским приложением и Администратором.

  2. 64-битные пользовательские DSN появляются в 32-битном администраторе и когда 32-битные клиентские приложения запрашивают все доступные DSN -- даже несмотря на то, что 64-битные DSN не могут быть использованы 32-битным клиентским приложением и администратором.

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

Компания Microsoft рекомендует называть ваши пользовательские DSN именами _32 или _64, в зависимости от битности драйвера, на котором они основаны ... или придерживаться системных DSN.

Есть 32-битные и 64-битные решения для нужного вам соединения. Битность вашего клиентского приложения (приложений) -- IIS и PHP, в данном случае -- диктует битность требуемого решения.

1
ответ дан 30 November 2019 в 16:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: