Как подключиться к базе данных SQL Server 2008 с помощью JDBC?
У меня установлен MSSQL 2008 на моем локальном ПК, и моему Java-приложению необходимо подключиться к базе данных MSSQL. Я новичок в MSSQL, и я хотел бы получить некоторую помощь по созданию пользовательского входа для моего Java-приложения и подключения через JDBC. До сих пор я пытался создать логин для своего приложения и использовал следующую строку подключения, но я вообще не работаю. Любая помощь и подсказка будут оценены.
jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms
username="shuxer" password="itarator"
Ответы
Ответ 1
Существует два способа использования 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 в качестве аргумента виртуальной машины (по-прежнему нужно sqljdbc4.jar в пути сборки).
Пожалуйста, посмотрите здесь для краткого пошагового руководства, показывающего, как подключиться к SQL Server с Java, используя jTDS и JDBC, чтобы вам нужно больше деталей. Надеюсь, это поможет!
Ответ 2
Вы можете использовать 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>");
}
}
Ответ 3
Я также использую mssql server 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();
Ответ 4
Если у вас возникли проблемы с подключением, скорее всего, проблема в том, что вы еще не включили прослушиватель TCP/IP на порт 1433. Быстрая команда "netstat -an" сообщит вам, если ее прослушивание. По умолчанию SQL Server не включает это после установки.
Кроме того, вам нужно установить пароль в учетной записи "sa", а также ENABLE учетной записи "sa" (если вы планируете использовать эту учетную запись для подключения).
Очевидно, это также означает, что вам нужно включить "аутентификацию в смешанном режиме" на вашем MSSQL node.
Ответ 5
Попробуйте использовать вот так: jdbc: jtds: sqlserver://127.0.0.1/dotcms; Экземпляр = имя_экземпляр
Я не знаю, какую версию mssql вы используете, если это экспресс-версия, экземпляр по умолчанию - sqlexpress
Не забудьте проверить, работает ли служба просмотра SQL Server.
Ответ 6
Вы можете попробовать настроить SQL-сервер:
- Шаг 1: Откройте SQL Server 20xx Configuration Manager
- Шаг 2: Нажмите "Протоколы для SQL" в конфигурации SQL-сервера. Затем щелкните правой кнопкой мыши TCP/IP, выберите "Свойства"
- Шаг 3: Нажмите вкладку IP-адрес, отредактируйте все TCP. Порт - 1433
ПРИМЕЧАНИЕ. ВСЕ TCP-порт - 1433
Наконец, перезапустите сервер.
Ответ 7
Простая Java-программа, которая подключается к SQL Server.
ПРИМЕЧАНИЕ. Вам нужно добавить 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();
}
}
}
Ответ 8
Попробуй это.
импорт java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
открытый класс SQLUtil {
public void dbConnect (String db_connect_string, String db_userid, String 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 = new SQLUtil();
connServer.dbConnect("jdbc: sqlserver://192.168.10.97: 1433; databaseName = myDB", "sa", "0123");
}
}
Ответ 9
Эта примерная программа Java подключается к базе данных MySQL с использованием JDBC, выполняет запрос и извлекает и печатает значение поля базы данных.
Этот же примерный код может использоваться для подключения к любому типу базы данных, все, что вам нужно сделать, это изменить URL-адрес соединения (dbUrl в образце). Чтобы этот код работал правильно, вам нужно загрузить драйвер mysql для JDBC, другими словами, Java Connectors с сайта mysql.com.
Если после загрузки URL-адреса он все еще не работает, возможно, это связано с classpath. Вам нужно будет добавить файл 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