[英]How do I connect to a SQL Server 2008 database using JDBC?
我在本地 PC 上安装了 MSSQL 2008,我的 Java 应用程序需要连接到 MSSQL 数据库。 我是 MSSQL 的新手,我希望在为我的 Java 应用程序创建用户登录和通过 JDBC 获得连接方面获得一些帮助。 到目前为止,我尝试为我的应用程序创建用户登录名并使用以下连接字符串,但我根本不工作。 任何帮助和提示将不胜感激。
jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms
username="shuxer" password="itarator"
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)。
如果您需要更多详细信息,请查看此处的简短分步指南,其中显示了如何使用 jTDS 和 JDBC 从 Java 连接到 SQL Server。 希望能帮助到你!
你可以使用这个:
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>");
}
}
我也在使用 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();
如果您在连接时遇到问题,最有可能的问题是您尚未在端口 1433 上启用 TCP/IP 侦听器。快速的“netstat -an”命令将告诉您它是否正在侦听。 默认情况下,SQL 服务器在安装后不启用此功能。
此外,您需要在“sa”帐户上设置密码并启用“sa”帐户(如果您打算使用该帐户进行连接)。
显然,这也意味着您需要在 MSSQL 节点上启用“混合模式身份验证”。
尝试这样使用:jdbc:jtds:sqlserver://127.0.0.1/dotcms; 实例=实例名称
不知道你用的是哪个版本的mssql,如果是express版本,默认实例是sqlexpress
不要忘记检查 SQL Server Browser 服务是否正在运行。
您可以尝试配置 SQL 服务器:
注意:所有 TCP 端口都是 1433 最后,重新启动服务器。
注意:您需要将 sqljdbc.jar 添加到构建路径中
// localhost : 本地计算机充当服务器
// 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();
}
}
}
尝试这个。
导入 java.sql.Connection;
导入 java.sql.DriverManager;
导入 java.sql.ResultSet;
导入 java.sql.Statement;
公共类 SQLUtil {
公共无效dbConnect(字符串db_connect_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(); } }
公共静态无效主(字符串 [] args){
SQLUtil connServer = new SQLUtil();
connServer.dbConnect("jdbc:sqlserver://192.168.10.97:1433;databaseName=myDB", "sa", "0123");
}
}
尝试这个
Class.forName( "net.sourceforge.jtds.jdbc.Driver" );
String url ="Jdbc:jtds:sqlsever://ip/instanceName;instance=instanceName;databseName=dbName;user=yourUser;password=yourpass;";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.