怎么远程连接oracle数据库

怎么远程连接oracle数据库,第1张

远程连接的连接字符串可以这样写OleDbConnection 的连接字符串:provider=MSDAORAhost=192.168.1.1data source=MyTestuser id=systempassword=xxxprovider = MSDAORA指明oledb 的提供者是oracle数据库 host 是远程 oracle 数据库所在服务器的IP地址,如果端口不是默认的 1521,还要加上一个 Port=xxxxdata source 是要访问的 oracle 数据库的名字user id 和 password 就不说了。.NET Managed Provider for Oracle 的连接字符串:server=192.168.1.1data source=MyTestuser id=systempassword=xxx要能够成功运行上面代码,我们必须在代码运行的机器上安装 oracle 的客户端,否则会报The Oracle(tm) client and networking components were not found 这个错误。

望采纳

我会两种方法:一、使用第三方,下载instantclient_11_2二、配置如下,1.进入开始菜单-数据库-找到net manager-本地-服务命名-左上角添加-网络服务名(随意)-下一步-下一步-主机名:llocalhost-下一步服务名:要连接的数据库名(orcl),2.找到数据库的安装路径:D:\Oracle11g\product\11.2.0\db_1\NETWORK\ADMIN\tnsnames.ora修改

网络服务名(随意) =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = [输入另一个数据库所在的IP])(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = ORCL) /*要连接的数据库名(我是orcl)*/

)

)

先期准备:

1、两台电脑必须要联网,能够访问到

2、将oracle的驱动程序拷贝到你的java的电脑上,并设置到环境变量中。

java代码

import java.sql.Connection

import java.sql.DriverManager

import java.sql.PreparedStatement

import java.sql.ResultSet

import java.sql.SQLException

public class DbTest {

public static void main(String[] args) {

Connection conn = null

PreparedStatement prstm = null

ResultSet rs = null

try {

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()

String url="jdbc:oracle:thin:@ip:port:orcl" //数据库连接字符串,需要替换ip,port,orcl

String user="user" //用户名,需要替换你的数据库的用户名

String password="pswd" //密码,需要替换为对应的密码

conn = DriverManager.getConnection(url,user,password) //获取连接

prstm = conn.prepareStatement("SELECT 1 TEST_ID FROM DUAL")

rs = prstm.executeQuery()

while (rs.next()) {

System.out.println("查询结果为:" + rs.getInt("TEST_ID"))

}

} catch (InstantiationException e) {

// TODO Auto-generated catch block

e.printStackTrace()

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace()

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace()

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

} finally {

//使用完毕进行相关内容的关闭,注意相关顺序

if (rs != null) {

try {

rs.close()

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

if (prstm != null) {

try {

prstm.close()

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

if (conn != null) {

try {

conn.close()

} catch (SQLException e) {

e.printStackTrace()

}

}

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6695031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存