java-如何使用JDBC连接到SQL Server 2008数据库?
我在本地PC上安装了MSSQL 2008,并且Java应用程序需要连接到MSSQL数据库。 我是MSSQL的新手,我希望获得一些有关为Java应用程序创建用户登录并通过JDBC获得连接的帮助。 到目前为止,我尝试为我的应用创建用户登录名并使用以下连接字符串,但我根本无法工作。 任何帮助和提示将不胜感激。
jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms
username="shuxer" password="itarator"
8个解决方案
73 votes
使用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);
然后将路径作为VM参数添加到sqljdbc_auth.dll(在构建路径中仍需要sqljdbc4.jar)。
请在此处查看一份简短的分步指南,该指南显示了在需要更多详细信息时如何使用jTDS和JDBC从Java连接到SQL Server。 希望能帮助到你!
Thusi answered 2020-01-12T09:09:59Z
32 votes
您可以使用:
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://", "",
"");
}
}
Mahmut EFE answered 2020-01-12T09:10:19Z
7 votes
我也使用mssql server 2008和jtds。在我的情况下,我使用以下连接字符串,它可以工作。
Class.forName( "net.sourceforge.jtds.jdbc.Driver" );
Connection con = DriverManager.getConnection( "jdbc:jtds:sqlserver://
address>:1433/zacmpf", userName, password );
Statement stmt = con.createStatement();
kta answered 2020-01-12T09:10:38Z
6 votes
如果您在连接时遇到问题,最有可能的问题是您尚未在端口1433上启用TCP / IP侦听器。快速的“ netstat -an”命令将告诉您是否侦听。 默认情况下,SQL Server在安装后不会启用此功能。
另外,您需要在“ sa”帐户上设置一个密码,并启用“ sa”帐户(如果您打算使用该帐户进行连接)。
显然,这还意味着您需要在MSSQL节点上启用“混合模式身份验证”。
djangofan answered 2020-01-12T09:11:08Z
3 votes
尝试像这样使用:jdbc:jtds:[sqlserver://127.0.0.1/dotcms;] instance = instanceName
我不知道您使用的是哪个版本的mssql,如果是Express Edition,则默认实例为sqlexpress
不要忘记检查SQL Server Browser服务是否正在运行。
answered 2020-01-12T09:11:36Z
3 votes
您可以尝试配置SQL Server:
步骤1:打开SQL Server 20xx配置管理器
步骤2:在SQL Server配置中,单击SQL协议。 然后,右键单击“ TCP / IP”,选择“属性”。
步骤3:单击选项卡IP地址,编辑所有TCP。 端口是1433
注意:所有TCP端口是1433最后,重新启动服务器。
Nguyễn Anh Giàu answered 2020-01-12T09:12:14Z
2 votes
连接到SQL Server的简单Java程序。
注意:您需要将sqljdbc.jar添加到构建路径中
//本地主机:本地计算机充当服务器
// 1433:SQL默认端口号
//用户名:sa
//密码:使用密码,该密码在安装SQL Server Management Studio时使用,在我的情况下为“ 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();
}
}
}
atishr answered 2020-01-12T09:12:56Z
0 votes
尝试这个。
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.ResultSet;
导入java.sql.Statement;
公共类SQLUtil {
公共无效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();
} }
公共静态void main(String [] args){
SQLUtil connServer =新的SQLUtil();
connServer.dbConnect(“ jdbc:[sqlserver://192.168.10.97:1433; databaseName = myDB”,] “ sa”, “ 0123”);
}
}
Kamran answered 2020-01-12T09:15:08Z