Здравствуйте, nuro, Вы писали:
N>Приветствую,
N> Расскажите, в чем глубинный смысл следующей строчки:
N>Class c = Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
N> Почему без неё не работает это? Как понимать создание переменной c? Она нигде после не используется!
N>Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://server:1433","login","pass");
Дело в том, что Class.forName() приводит к загрузке класса и инициализации его статической части.
В свою очередь многие JDBC драйвера при статической инициализации регистрируют себя в DriverManager'е. Так что все дело в side effect'ах.