我在本地PC上安装了MSSQL 2008,我的Java应用程序需要连接到MSSQL数据库。我是MSSQL的新手,我想获得一些帮助,为我的Java应用程序创建用户登录并通过JDBC获得连接。到目前为止,我尝试为我的应用程序创建用户登录并使用以下连接字符串,但我根本不工作。任何帮助和提示将不胜感激。
jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms
username="shuxer" password="itarator"
答案 0 :(得分:71)
使用JDBC主要有两种方法 - 使用Windows身份验证和SQL身份验证。 SQL身份验证可能是最简单的。你可以做的是:
String userName = "username";
String password = "password";
String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url, userName, password);
将sqljdbc4.jar添加到构建路径后。
对于Window身份验证,您可以执行以下操作:
String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url);
然后将sqljdbc_auth.dll的路径添加为VM参数(在构建路径中仍需要sqljdbc4.jar)。
请查看here,了解如何在需要更多详细信息时使用jTDS和JDBC从Java连接到SQL Server的简短分步指南。希望它有所帮助!
答案 1 :(得分:32)
您可以使用this:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ConnectMSSQLServer
{
public void dbConnect(String db_connect_string,
String db_userid,
String db_password)
{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(db_connect_string,
db_userid, db_password);
System.out.println("connected");
Statement statement = conn.createStatement();
String queryString = "select * from sysobjects where type='u'";
ResultSet rs = statement.executeQuery(queryString);
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
ConnectMSSQLServer connServer = new ConnectMSSQLServer();
connServer.dbConnect("jdbc:sqlserver://<hostname>", "<user>",
"<password>");
}
}
答案 2 :(得分:7)
我也在使用mssql server 2008和jtds.在我的情况下,我使用以下连接字符串,它可以工作。
Class.forName( "net.sourceforge.jtds.jdbc.Driver" );
Connection con = DriverManager.getConnection( "jdbc:jtds:sqlserver://<your server ip
address>:1433/zacmpf", userName, password );
Statement stmt = con.createStatement();
答案 3 :(得分:6)
如果您在连接时遇到问题,很可能问题是您尚未在端口1433上启用TCP / IP侦听器。快速“netstat -an”命令将告诉您它是否正在侦听。默认情况下,SQL Server在安装后不启用此功能。
此外,您需要在“sa”帐户上设置密码,并启用“sa”帐户(如果您打算使用该帐户进行连接)。
显然,这也意味着您需要在MSSQL节点上启用“混合模式身份验证”。
答案 4 :(得分:3)
尝试使用如下:jdbc:jtds:sqlserver://127.0.0.1/dotcms;实例=实例名
我不知道你使用的是哪个版本的mssql,如果是快递版,默认实例是sqlexpress
不要忘记检查SQL Server Browser服务是否正在运行。
答案 5 :(得分:3)
您可以尝试配置SQL Server:
注意:所有TCP端口均为1433 最后,重启服务器。
答案 6 :(得分:1)
注意:您需要将sqljdbc.jar添加到构建路径中
// localhost:本地计算机充当服务器
// 1433:SQL默认端口号
// username:sa
//密码:使用密码,在安装SQL Server管理工作室时使用,在我的例子中,它是'root'
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conn {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
Connection conn=null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=company", "sa", "root");
if(conn!=null)
System.out.println("Database Successfully connected");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
答案 7 :(得分:0)
尝试一下。
导入java.sql.Connection;
导入java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
公共类SQLUtil {
public void dbConnect(String db_connect_string,String db_userid, 字符串db_password){
尝试{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password); System.out.println("connected"); Statement statement = conn.createStatement(); String queryString = "select * from cpl"; ResultSet rs = statement.executeQuery(queryString); while (rs.next()) { System.out.println(rs.getString(1)); } } catch (Exception e) { e.printStackTrace(); } }
public static void main(String [] args){
SQLUtil connServer =新的SQLUtil();
connServer.dbConnect(“ jdbc:sqlserver://192.168.10.97:1433; databaseName = myDB”, “ sa”, “ 0123”);
}
}