[英]Unable to connect to sql server using java 8
我正在尝试使用Java 8连接到我的SQL Server21014。但是我遇到了错误。
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'的语法无效。 在net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:181)在net.sourceforge.jtds.jdbc.Driver.setupConnectProperties(Driver.java:241)在java.sql.DriverManager.getConnection(未知源)在DBConnec.main(DBConnec.java:15)处java.sql.DriverManager.getConnection(未知源)处
我正在使用以下命令运行代码:
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.Driver.connect(Driver.java:183)处的net.sourceforge.jtds.jdbc.JtdsConnection。(JtdsConnection.java:434)连接),位于DBConnec.main(DBConnec.java:15)的java.sql.DriverManager.getConnection(未知源)的java.sql.DriverManager.getConnection(未知源)的原因:java.net.ConnectException:拒绝连接:连接于java.net.AbstractPlainSocketImpl.doConnect的java.net.DualStackPlainSocketImpl.socketConnect(未知源),java.net.AbstractPlainSocketImpl.doConnect(未知源),java.net.DualStackPlainSocketImpl.socketConnect(未知源)。在java.net上的net.AbstractPlainSocketImpl.connect(未知源)在sun.reflect上的java.net.SocksSocketImpl.connect(未知源)在java.net.SocksSocketImpl.connect(未知源) sun.reflect.NativeMethodAccessorImpl.invoke(Un)上的NativeMethodAccessorImpl.invoke0(本机方法) java.lang.reflect.Method.invoke处sun.reflect.DelegatingMethodAccessorImpl.invoke的已知源(未知源)
尝试这个:
String url = "jdbc:jtds:sqlserver://localhost:1433/dictionary";
您在sqlserver
之后错过了冒号。
您不应将JDBC驱动程序JAR添加到jre / lib / ext目录中。 了解如何正确使用CLASSPATH。
JTDS的url格式为:
jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]
因此,您的网址应类似于:
String url = "jdbc:jtds:sqlserver://localhost:1433/dictionary";
^^^____missing colon
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.