如何使用JDBC连接到SQL Server 2008数据库?
我在本地PC上安装了MSSQL 2008,我的Java应用程序需要连接到MSSQL数据库。我是MSSQL的新手,我希望为我的Java应用程序创建用户登录并通过JDBC获取连接获得一些帮助。到目前为止,我尝试为我的应用程序创建一个用户登录并使用以下连接字符串,但我根本不工作。任何帮助和暗示将不胜感激。如何使用JDBC连接到SQL Server 2008数据库?
jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms
username="shuxer" password="itarator"
本示例Java程序使用JDBC连接到MySQL数据库,执行查询并检索并打印数据库字段的值。
此示例代码可用于连接任何类型的数据库,您只需更改连接URL(示例中的dbUrl)即可。为使此代码正常工作,您需要从mysql.com站点下载用于JDBC的mysql驱动程序,换句话说Java连接器。
如果在下载URL后仍然不起作用,那么可能是由于类路径。您必须在类路径中添加驱动程序jar文件。
import java.sql.*;
import javax.sql.*;
public class jdbcdemo{
public static void main(String args[]){
String dbtime;
String dbUrl = "jdbc:mysql://your.database.domain/yourDBname";
String dbClass = "com.mysql.jdbc.Driver";
String query = "Select * FROM users";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection (dbUrl);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
dbtime = rs.getString(1);
System.out.println(dbtime);
} //end while
con.close();
} //end try
catch(ClassNotFoundException e) {
e.printStackTrace();
}
catch(SQLException e) {
e.printStackTrace();
}
} //end main
} //end class
OP是要求SQL服务器不是我的SQL ... – 2014-02-12 07:26:58
请删除这个答案。 – 2015-04-17 13:27:35
尝试使用这样的:JDBC:JTDS:SQLSERVER://127.0.0.1/dotcms;实例=实例名
我不知道你正在使用的MSSQL的版本,如果是Express版本,默认情况下为SQLEXPRESS
不要忘记检查,如果SQL Server Browser服务正在运行。
如果您连接时遇到问题,最可能的问题是您尚未在端口1433上启用TCP/IP侦听器。快速的“netstat -an”命令会告诉您它是否正在侦听。默认情况下,SQL Server在安装后不会启用此功能。此外,您需要在“sa”帐户上设置密码,并启用“sa”帐户(如果您打算使用该帐户进行连接)。
很明显,这也意味着您需要在MSSQL节点上启用“混合模式身份验证”。
我也使用mssql服务器2008和jtds.In我的情况我使用以下连接字符串,它的工作原理。
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();
您可以使用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>");
}
}
主要有两种方式来使用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添加到构建路径后。
对于Windows身份验证,你可以这样做:
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的简要步骤指南,如果您需要更多详细信息。希望能帮助到你!
您可以尝试配置SQL Server:
- 第1步:打开SQL Server 20XX配置管理器
- 步骤2:单击协议为SQL .. SQL Server配置。然后,右键单击TCP/IP,选择属性
- 步骤3:单击选项卡IP地址,编辑所有TCP。端口是1433
注:所有TCP端口为1433 最后,重新启动服务器。
请发布您正在尝试连接的代码,同时向我们提供您正在获取的异常或错误 – developer 2011-09-05 10:35:44
尝试使用[Hibernate](https://www.hibernate.org/6.html#A2)。如果你还没有听说过它,那么[看看这个工具]是时候了(http://docs.jboss.org/hibernate/stable/core/reference/en/html/)。广泛传播的对象关系映射(ORM)库。 – Artic 2010-03-16 07:04:37