【发布时间】:2017-07-18 09:50:37
【问题描述】:
我有一个使用 JTDS 连接到 SQL Server 的应用程序。我需要更改数据库并希望在重新配置应用程序之前先测试连接字符串。我是 SQL Server DBA,而不是 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
我可能遗漏了一些明显的东西,但请帮我解决这个问题。
【问题讨论】:
-
试过了,谢谢@Arvind,但得到了完全相同的没有合适的驱动程序错误。