Конечно, вы можете.
Java не использует информацию во время выполнения, для соображений обратной совместимости. Но информация фактически присутствует как метаданные и может быть доступна через отражение (но она еще не используется для проверки типов).
Из официального API:
Однако для вашего сценария я бы не использовал рефлексию. Я лично больше склонен использовать это для кода рамки. В вашем случае я бы просто добавил этот тип в качестве параметра конструктора.
Вы правы в том, что это связано с битами.
Надеюсь, это поможет:
- Из MSDN -
Для управления источником данных, который подключается к 32-разрядному драйверу на 64-разрядной платформе, используйте c: \ Windows \ SysWOW64 \ odbcad32.exe. Для управления источником данных, который подключается к 64-разрядному драйверу, используйте c: \ windows \ system32 \ odbcad32.exe. Если вы используете 64-битный файл odbcad32.exe для настройки или удаления DSN, который подключается к 32-битному драйверу, вы получите это сообщение.
Это сработало для меня: обновленное решение, убедитесь, что приложение IIS НЕ установлено на 32-битной в 64-разрядной Windows. Дополнительная информация: http://forum.gpsgate.com/topic.asp?TOPIC_ID=13711 из:
Держу пари, что вы работаете с пользовательскими DSN.
В зависимости от вашей точки зрения, в 64-битной среде Windows есть "возможность" или "ошибка" --
32-битные пользовательские DSN появляются в 64-битном Администраторе и когда 64-битные клиентские приложения запрашивают все доступные DSN -- даже если 32-битные DSN не могут быть использованы 64-битным клиентским приложением и Администратором.
64-битные пользовательские DSN появляются в 32-битном администраторе и когда 32-битные клиентские приложения запрашивают все доступные DSN -- даже несмотря на то, что 64-битные DSN не могут быть использованы 32-битным клиентским приложением и администратором.
Описываемое сообщение об ошибке появляется всякий раз, когда возникает такое битовое несоответствие между DSN и клиентом, пытающимся работать с ним.
Компания Microsoft рекомендует называть ваши пользовательские DSN именами _32 или _64, в зависимости от битности драйвера, на котором они основаны ... или придерживаться системных DSN.
Есть 32-битные и 64-битные решения для нужного вам соединения. Битность вашего клиентского приложения (приложений) -- IIS и PHP, в данном случае -- диктует битность требуемого решения.