我正在尝试使用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:连接URL“jdbc:jtds:sqlserver // localhost:1433 / dictionary”的语法无效。 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) 在DBConnec.main(DBConnec.java:15)
我正在使用此命令运行我的代码:
java -cp .;“C:\ Program Files \ Java \ jdk1.8.0_66 \ jre \ lib \ ext \ jtds-1.3.0.jar”DBConnec
我还试过url而不写“sqlserver”。但它给出了同样的例外。 请帮忙......谢谢..
我已经纠正了我的语法,但现在我得到了这样的异常:
java.sql.SQLException:网络错误IOException:连接被拒绝:连接 在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) 在DBConnec.main(DBConnec.java:15) 引起:java.net.ConnectException:连接被拒绝:连接 at java.net.DualStackPlainSocketImpl.connect0(Native Method) 在java.net.DualStackPlainSocketImpl.socketConnect(未知来源) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 在java.net.AbstractPlainSocketImpl.connect(未知来源) 在java.net.PlainSocketImpl.connect(未知来源) 在java.net.SocksSocketImpl.connect(未知来源) 在java.net.Socket.connect(未知来源) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 在java.lang.reflect.Method.invoke(未知来源)
答案 0 :(得分:1)
试试这个:
String url = "jdbc:jtds:sqlserver://localhost:1433/dictionary";
sqlserver
之后你错过了冒号。
您不应将JDBC驱动程序JAR添加到jre / lib / ext目录。了解如何正确使用CLASSPATH。
答案 1 :(得分:1)
JTDS is的网址格式:
jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]
所以你的网址应该是这样的:
String url = "jdbc:jtds:sqlserver://localhost:1433/dictionary";
^^^____missing colon