У меня есть приложение, использующее JTDS для подключения к SQL Server. Мне нужно изменить базу данных и сначала проверить строку подключения, прежде чем перенастраивать приложение. Я администратор базы данных SQL Server, а не разработчик Java! Вот мой тестовый код:
// Import the SQL Server JDBC Driver classes
import java.sql.*;
class Example
{
public static void main(String args[])
{
try
{
// Build the connection string, and get a connection
System.out.println("1.");
System.out.println("2.");
String connectionUrl = "jdbc:jtds:sqlserver://UK-SB-Server:53569;DatabaseName=helpdesk;user=helpdesk;password=MyPwd;Tds=8.0;PrepareSql=3;XaEmulation=false";
System.out.println("3.");
Connection con = DriverManager.getConnection(connectionUrl);
System.out.println("Connected.");
// Create and execute an SQL statement that returns some data.
String SQL = "SELECT * from dbo.AllowedValues";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(SQL);
// Iterate through the data in the result set and display it.
while (rs.next())
{
System.out.println(rs.getString(1) + " " + rs.getString(2));
}
}
catch(Exception e)
{
System.out.println("Error - " + e.getMessage());
System.exit(0);
}
}
}
Я компилирую его с помощью:
C:\Progra~1\Java\jdk1.6.0_45\bin\javac C:\JavaTest\example.java
Я запускаю его с помощью:
C:\Progra~1\Java\jdk1.6.0_45\bin\java -classpath C:\JavaTest Example
jtds-1.2.jar и Example.class находятся в C:\JavaTest
Я получаю следующую ошибку:
1.
2.
3.
Error - No suitable driver found for jdbc:jtds:sqlserver://UK-SB-Server:53569;DatabaseName=helpdesk;user=helpdesk;password=MyPwd;Tds=8.0;PrepareSql=3;XaEmulation=false
Я читал противоречивые сообщения о том, нужно ли мне
Class.forName("net.sourceforge.jtds.jdbc.Driver");
или нет. Если я поставлю строку между println("1.")
и println("2.")
, она просто выйдет из строя раньше с
1.
Error - net.sourceforge.jtds.jdbc.Driver
Я могу упустить что-то очевидное, но, пожалуйста, помогите мне решить эту проблему.