Java连接Linux和Oracle数据库 (java链接linux oracl)

Java是一种广泛使用的编程语言,Linux是一种开源的操作系统,而Oracle是一种流行的关系型数据库管理系统。在许多应用程序中,我们需要将Java与Linux和Oracle结合使用,并建立连接以实现数据的交换和管理。本文将详细介绍如何连接Java、Linux和Oracle数据库,并提供一些实用的示例。

1. 搭建Java开发环境

在连接Java、Linux和Oracle数据库之前,首先需要准备好Java开发环境。你需要下载和安装Java开发工具包(JDK),并配置好Java环境变量。在安装完成后,打开终端并输入以下命令,确认Java环境变量已经正确设置。

$ java -version

2. 准备Linux系统

在连接Java和Oracle之前,还需要准备好Linux系统,并进行必要的配置以确保与Oracle数据库的正确连接。你需要安装Oracle客户端,并根据需要安装ODBC驱动程序。同时需要配置Oracle客户端的环境变量,确保它们可以在Linux上正确运行。

在完成这些配置后,你可以使用以下命令测试Oracle客户端是否正确安装和配置。

$ sqlplus username/password@database

3. 连接Java和Oracle

现在开始连接Java和Oracle。我们需要导入Oracle JDBC驱动程序。你可以从Oracle官方网站下载该驱动程序,并将它添加到Java应用程序的CLASSPATH中,或者使用Maven或Gradle等构建工具导入该驱动程序。

以下是一个简单的Java程序示例,演示如何连接Oracle数据库并执行SQL查询。

import java.sql.*;

public class OracleDemo {

public static void mn(String[] args) {

Connection conn = null;

try {

// Register JDBC driver

Class.forName(“oracle.jdbc.driver.OracleDriver”);

// Open a connection

System.out.println(“Connecting to database…”);

conn = DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:orclcdb”, “username”, “password”);

// Execute a query

System.out.println(“Creating statement…”);

Statement stmt = conn.createStatement();

String sql = “SELECT id, name, age FROM employees”;

ResultSet rs = stmt.executeQuery(sql);

// Extract data from result set

while (rs.next()) {

// Retrieve by column name

int id = rs.getInt(“id”);

String name = rs.getString(“name”);

int age = rs.getInt(“age”);

// Display values

System.out.print(“ID: ” + id);

System.out.print(“, Name: ” + name);

System.out.println(“, Age: ” + age);

}

// Clean-up environment

rs.close();

stmt.close();

conn.close();

} catch (SQLException se) {

// Handle errors for JDBC

se.printStackTrace();

} catch (Exception e) {

// Handle errors for Class.forName

e.printStackTrace();

} finally {

// Finally block used to close resources

try {

if (conn != null)

conn.close();

} catch (SQLException se) {

se.printStackTrace();

}

}

System.out.println(“Goodbye!”);

}

}

在上述代码中,我们使用JDBC API建立与Oracle数据库的连接。这是通过设置正确的JDBC URL、用户名和密码来实现的。接下来,我们使用Statement对象执行查询,然后从结果集中提取数据。我们关闭结果集、语句和连接,以释放所有占用的资源。

4. 连接Java和Linux

在连接Java和Linux之前,需要确保Java应用程序可以与Linux服务器建立连接。你需要在Linux服务器上启动SSH服务,并对所需的用户授予SSH访问权限。你还需要确保防火墙允许Java应用程序访问服务器的端口。

以下是一个简单的Java程序示例,演示如何通过SSH连接到Linux服务器,并执行命令。

import com.jcraft.jsch.*;

public class SshDemo {

public static void mn(String[] args) {

ch jsch = new ch();

String host = “localhost”;

String user = “username”;

String password = “password”;

int port = 22;

try {

// Create a session

System.out.println(“Connecting to server…”);

Session session = jsch.getSession(user, host, port);

session.setPassword(password);

// Security properties

java.util.Properties config = new java.util.Properties();

config.put(“StrictHostKeyChecking”, “no”);

session.setConfig(config);

// Connect to server

session.connect();

// Execute a command

System.out.println(“Executing command…”);

ChannelExec channelExec = (ChannelExec) session.openChannel(“exec”);

channelExec.setCommand(“ls”);

channelExec.connect();

// Read the output of the command

System.out.println(“Reading output…”);

InputStream inputStream = channelExec.getInputStream();

BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

String line;

while ((line = reader.readLine()) != null) {

System.out.println(line);

}

// Close the channel

channelExec.disconnect();

// Disconnect from server

session.disconnect();

} catch (chException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

System.out.println(“Goodbye!”);

}

}

在上述代码中,我们使用ch库建立SSH连接。我们指定主机名、用户名、密码和端口号,并使用Session对象连接到服务器。接下来,我们使用ChannelExec对象执行一个命令,并读取命令输出的内容。我们关闭通道和会话,并释放所有占用的资源。

结论

在本文中,我们介绍了如何连接Java、Linux和Oracle数据库。我们向你展示了一些实用示例,这些示例可以帮助你了解如何使用JDBC和SSH库来建立连接,并在Java应用程序中实现数据的交换和管理。通过使用这些技术和工具,你可以轻松地将Java与Linux和Oracle数据库集成,并在你的应用程序中实现高效和可靠的数据操作。

相关问题拓展阅读:

如何连接到linux上的oracle数据库

装好oracle数据态弊祥库,我们准备用PLSQL Developer 这个软件来连接服务器的数据库!

下面简单介绍设置此软件并连接oracle数据卜镇库的方法:

一、下载并安装好PLSQL Developer(绿色版的也可以);

二、下载并解压

Oracle免安装版的客户端:

三、建立tns配置文件。

1、在解压的:“nstantclient-basic-nt-11.2.0.3.0”文件夹的下面建文件夹,路径像这样“nstantclient-basic-nt-11.2.0.3.0\neidown\admin“,其实这个倒是无所谓的,只是看起来与服务端上帆搏的更接近而已,与文章后面的环境变量要对应。

2、拷贝服务端目录“$ORACLE_HOME$\network\admin\tnsnames.ora”到客户端的“nstantclient-basic-nt-11.2.0.3.0\neidown\admin“目录,这个文件的内容如下:(也可自行建立)

# tnsnames.ora Network Configuration File: /home/oradb/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl.localdomain)

)

)

复制代码以上的代码 做个简要的介绍,本例中安装在linux中的oracle数据库,其环境配置如下:

ORACLE_BASE=/home/oradb/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

ORACLE_SID=orcl

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin 

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 

LANG=C

复制代码拷贝到客户端后,用记事本打开它,修改如下几个参数:

# tnsnames.ora Network Configuration File: /home/oradb/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl.localdomain)

)

)

复制代码重要:以上除了HOST是服务器ip外,其他三个红字必须与服务端的这个文件一致,否则连接的时候将会导致ORA-12514错误。

四、设置PLSQL Developer程序的oci库路径。

运行PLSQL Developer程序,在弹出的登录框点“取消”

在菜单“工具-首选项”中的“连接”中,

找到“Oracle主目录名”,输入

解压的:“nstantclient-basic-nt-11.2.0.3.0”文件夹的路径 比如: 

“D:\PLSQL\instantclient_11_2”

找到“OCI库”,输入

解压的:“nstantclient-basic-nt-11.2.0.3.0”文件夹下oci.dll文件的路径,比如:

“D:\PLSQL\instantclient_11_2\oci.dll”

如下图:

 

五、设置windows的环境变量

(右键“我的电脑”-属性-高级-环境变量)

添加2个系统变量:

1、是指向TNS文件所在目录的,这个目录是Oracle的TNS文件所在目录。TNS文件就是保存了连接信息的文件tnsnames.ora。

本例中 TNS_ADMIN  的值: D:\Program Files\PLSQL Developer\instantclient_11_2\network\admin

2、是指定数据库使用的编码。如果不设置成以下值,那么连接上数据库后,你看到的所有中文的内容将会是乱码,都是一堆问号。

本例中 NLS_LANG  值:AMERICAN_AMERICA.AL32UTF8

如下图:

 

如果服务器中的数据库字符编码是GBK则设置为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

如果设置不对会乱码。

注意:设定了环境变量之后,要注销或者重启电脑生效。

java链接linux oracl的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java链接linux oracl,Java连接Linux和Oracle数据库,如何连接到linux上的oracle数据库的信息别忘了在本站进行查找喔。


数据运维技术 » Java连接Linux和Oracle数据库 (java链接linux oracl)