Intro
I will try installing Microsoft SQL Server on Fedora 39 in this time.
After installing, I will try accessing it from my Spring Boot application.
Environments
- Fedora Linux 39(Workstation Edition)
- SQL Server 2022
- openjdk 17.0.9 2023-10-17(Red_Hat-17.0.9.0.9-2)
Installing
According to the document, there is no SQL Server installing for Fedora.
So I will add repositories first.
sudo dnf config-manager --add-repo=https://packages.microsoft.com/config/rhel/9/mssql-server-2022.repo sudo dnf config-manager --add-repo=https://packages.microsoft.com/config/rhel/9/prod.repo sudo dnf check-update sudo dnf -y install mssql-server mssql-tools
After installing, I will execute setting up command.
sudo /opt/mssql/bin/sqlservr-setup
Opening the port to accept access from another PC.
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
Adding "mssql-tools" path into .bashrc.
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
- Installation guidance for SQL Server on Linux - Microsoft Learn
- Install the SQL Server command-line tools sqlcmd and bcp on Linux - Microsoft Learn
- Quickstart: Install SQL Server and create a database on Red Hat - Microsoft Learn
- 【 dnf 】コマンド(応用編その7)――リポジトリを追加する - @IT
After installing SQL Server, I will also install DBeaver to access it by GUI tool.
sudo rpm -Uvh ./dbeaver-ce-23.3.0-stable.x86_64.rpm
CREATE TABLE users (id bigint identity(1, 1) primary key, name varchar(32) not null, last_update_date datetimeoffset default current_timestamp AT TIME ZONE 'Tokyo Standard Time'); go
Access SQL Server from my Spring Boot project
To access SQL Server from my Spring Boot project, I will add Microsoft JDBC Driver for SQL Server.
build.gradle
... dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.apache.poi:poi:5.2.5' implementation 'org.apache.poi:poi-ooxml:5.2.5' implementation 'com.microsoft.sqlserver:mssql-jdbc:12.4.2.jre11' developmentOnly 'org.springframework.boot:spring-boot-devtools' testImplementation 'org.springframework.boot:spring-boot-starter-test' } ...
- Microsoft JDBC Driver For SQL Server » 12.4.2.jre11 - Maven Repository
- Download Microsoft JDBC Driver for SQL Server - Microsoft Learn
UserAccessSample.java
package jp.masanori.springbootsample.users; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class UserAccessSample { public String accessSample() { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String connectionUrl = "jdbc:sqlserver://localhost;encrypt=false;database=master;integratedSecurity=false;user=sa;password=PASSWORD"; Connection con = DriverManager.getConnection(connectionUrl); String SQL = "SELECT * FROM users"; Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SQL); while (rs.next()) { System.out.println( rs.getInt("id") + ", " + rs.getString("name")); } return "OK"; } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return "NG"; } }
Top comments (2)
Hey Masui I checked for the sqlservr-setup file and it wasn't there. By any chance do you have a copy to send it my way or do you have an idea of where I can find it?
Try " sudo /opt/mssql/bin/mssql-conf setup "