Сопоставление с образцом определенно хорошо при выполнении функционального программирования. В случае OO существуют некоторые случаи, где это хорошо. В самом примере Cedric это зависит от того, как Вы просматриваете print()
метод концептуально. Действительно ли это - поведение каждого Term
объект? Или это - что-то снаружи? Я сказал бы, что это снаружи и имеет смысл делать сопоставление с образцом. С другой стороны, если Вы имеете Employee
класс с различными подклассами, это - плохое проектное решение, чтобы сделать сопоставление с образцом на атрибуте его (скажите что имя) в базовом классе.
Также сопоставление с образцом предлагает изящный способ распаковать членов класса.
Используемый вами драйвер - это драйвер сервера MS SQL Server 2008 (sqljdbc4.jar). Как указано на странице MSDN, для работы требуется Java 6+.
http://msdn.microsoft.com/en-us/library/ms378526.aspx
Для библиотеки классов sqljdbc4.jar требуется Среда выполнения Java (JRE) из версия 6.0 или более поздняя.
Я бы посоветовал использовать драйвер 2005 года, который, как мне кажется, находится в (sqljdbc.jar), или, как говорит Oxbow_Lakes, попробуйте драйвер jTDS ( http://jtds.sourceforge.net/ ).
Не помещайте старый sqljdbc.jar и новый sqljdbc4.jar в путь к классам - это сделает (более или менее) непредсказуемым, какие классы используются, если оба этих JAR-файла содержат классы с такими же полными именами.
Вы сказали, что поместили sqljdbc4.jar в свой путь к классам - вы удалили старый sqljdbc.jar из пути к классам? Вы сказали «не сработало», что именно это означает? Вы уверены, что у вас в пути к классам еще нет старого JAR (возможно, не явно)?