我正在尝试使用 java 8 连接到我的 sql server 21014。但是我遇到了错误。
import java.sql.*;
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class DBConnec
{
public static void main(String a[])
{
try
{
String url = "jdbc:jtds:sqlserver//localhost:1433/dictionary";
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection conn = DriverManager.getConnection(url);
System.out.println("connection created");
Statement st=conn.createStatement();
String sql="select * from data where word LIKE 'hi'";
ResultSet rs=st.executeQuery(sql);
if (rs.next())
{
System.out.println(rs.getString(0));
}
if(st!=null)
st.close();
if(conn!=null)
conn.close();
}
catch(SQLException sqle)
{
sqle.printStackTrace();
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
}
}
我得到的异常是:
java.sql.SQLException: The syntax of the connection URL 'jdbc:jtds:sqlserver//localhost:1433/dictionary' is invalid. at net.sourceforge.jtds.jdbc.Driver.setupConnectProperties(Driver.java:241) at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:181) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at DBConnec.main(DBConnec.java:15)
我正在使用这个命令运行我的代码:
java -cp .;"C:\Program Files\Java\jdk1.8.0_66\jre\lib\ext\jtds-1.3.0.jar" DBConnec
我也试过不写“sqlserver”的url。但它给出了同样的异常(exception)。 请帮助..谢谢..
我已经更正了我的语法,但现在我遇到了这样的异常:
java.sql.SQLException: Network error IOException: Connection refused: connect at net.sourceforge.jtds.jdbc.JtdsConnection.(JtdsConnection.java:434) at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:183) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at DBConnec.main(DBConnec.java:15) Caused by: java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source)
最佳答案
试试这个:
String url = "jdbc:jtds:sqlserver://localhost:1433/dictionary";
您在 sqlserver
之后漏掉了冒号。
您不应将 JDBC 驱动程序 JAR 添加到 jre/lib/ext 目录。了解如何正确使用 CLASSPATH。
关于java - 无法使用 java 8 连接到 sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39466200/