
Java程序连接不上Oracle数据库的原因会有很多可能性,比如代码编写错误,数据库配置有问题等等,都会屋连接失败的。
工具:
oracle
Java程序连接Oracle代码及注释已在代码中标明
package com.java.dbtest
import java.sql.Connection
import java.sql.DriverManager
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.SQLException
public class TestConnection implements DBTest{
public void SelectUser(){
//设定数据库驱动,数据库连接地址、端口、名称,用户名,密码
String driverName="oracle.jdbc.driver.OracleDriver"
String url="jdbc:oracle:thin:@localhost:1521:BJPOWERNODE" //test为数据库名称,1521为连接数据库的默认端口
String user="zhidao" //aa为用户名
String password="zhidao" //123为密码
PreparedStatement pstmt = null
ResultSet rs = null
//数据库连接对象
Connection conn = null
try {
//反射Oracle数据库驱动程序类
Class.forName(driverName)
//获取数据库连接
conn = DriverManager.getConnection(url, user, password)
//输出数据库连接
System.out.println(conn)
//定制sql命令
String sql = "select * from t_user where user_id = ?"
//创建该连接下的PreparedStatement对象
pstmt = conn.prepareStatement(sql)
//传递第一个参数值 root,代替第一个问号
pstmt.setString(1, "root")
//执行查询语句,将数据保存到ResultSet对象中
rs = pstmt.executeQuery()
//将指针移到下一行,判断rs中是否有数据
if(rs.next()){
//输出查询结果
System.out.println("查询到名为【" + rs.getString("user_id") + "】的信息,其密码为:" + rs.getString("password"))
}else{
//输出查询结果
System.out.println("未查询到用户名为【" + rs.getString("user_id") + "】的信息")
}
} catch (ClassNotFoundException e) {
e.printStackTrace()
} catch (SQLException e) {
e.printStackTrace()
}finally{
try{
if(rs != null){
rs.close()
}
if(pstmt != null){
pstmt.close()
}
if(conn != null){
conn.close()
}
} catch (SQLException e) {
e.printStackTrace()
}
}
}
public static void main(String[] args){
new TestConnection().SelectUser()
}
}
在main函数中,右键,选择“Run as”=>"Java Application",就会运行该程序段,在Console中,可以看到运行结果,如果给出一串类似于“oracle.jdbc.driver.T4CConnection@7c242f04”这样的字符串,就说明连接成功了。
解决办法如下:
首先检查 我的电脑->管理->服务,查看是否启动了MySQL,然后打开 运行->regedit 打开注册表编辑器,检查注册表,路径见下图左下角的路径信息,把ImagePath改成你现在的路径(注意只改双引号内地路径地址)
然后在C:\Windows\System32下找到cmd.exe右键以管理员身份输入mysqld --initialize-insecure自动生成无密码的root用户,同时自动生成一个data文件夹,这时候再进行MySQL的安装,net start mysql,启动服务。
如果服务管理器中没有MySQL,在成功安装MySQL后,使用mysql的时候,在CMD中输入net start mysql,提示服务名无效,查看服务列表也找不到mysql服务。
解决办法:
在C:\Windows\System32下找到cmd.exe以管理员身份运行程序,
切换到MySQL安装目录的bin目录下
运行如下命令(具体试个人安装的MySQL版本及路径)
>cd C:\Program Files\MySQL\MySQL Server 5.6\bin
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld.exe -install
提示 Service successfully installed.
此时,刷新服务管理器,就可以看到MySQL的服务了,然后回到前面的步骤修改ImagePath路径,然后进入cmd,输入mysqld --initialize-insecure自动生成无密码的root用户,同时自动生成一个data文件夹,这时候再进行MySQL的安装,net start mysql,启动服务。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)