JAVA 外网连接数据库

JAVA 外网连接数据库,第1张

String url="jdbc:mysql://外网IP:3306/modan?user=root&password=123456"

try

{

Class.forName("com.mysql.jdbc.Driver").newInstance()

Connection connection=DriverManager.getConnection(url)

Statement statement=connection.createStatement()

String sql="select * from 表名"

ResultSet rs=statement.executeQuery(sql)

out.println("表中数据如下:")

while(rs.next())

{

out.println(rs.getString(1))

}

statement.close()

connection.close()

}

catch(Exception e)

{ out.print("异常:"+e)}

//数据库要开放端口才行

Mysql默认关闭远程登录权限,需要给远程用户添加权限才能连接。

通过select*from mysql.user\G 查看用户及权限。

一.允许root用户在任何地方进行远程登录,并具有所有库任何 *** 作权限,具体 *** 作如下:

1、在本机先使用root用户登录mysql:

mysql -u root -p"password"

2、进行授权 *** 作:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION

3、重载授权表:flush privileges

二.允许root用户在一个特定的IP进行远程登录,并具有所有库任何 *** 作权限,具体 *** 作如下:

1、在本机先使用root用户登录mysql:

mysql -u root -p"password"

2、进行授权 *** 作:

GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "password" WITH GRANT OPTION

3、重载授权表:flush privileges

这个是完全没有问题的。

先期准备:

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/6822577.html

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

发表评论

登录后才能评论

评论列表(0条)

保存