java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERR

时间:2024-03-13 14:41:02

1.java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

意思是:  链接有误  格式不对 找不到

  解决办法如下:

String url = "jdbc:oracle:thin:@192.168.1.922:1521:ORCL";//这个是我的url  按照我的写就没有问题了
// 地址:192.168.1.922
// 端口: 1521
// SID:ORCL

java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERR

package com.lyb.service;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import  javax.jws.WebService;
import  javax.xml.ws.Endpoint;



@WebService
public class SurfaceHello {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Endpoint.publish("http://localhost:32636/Service/SurfaceHello", new SurfaceHello());
		System.out.println("服务已经成功可以进行操作服务了");
	
	}
	

	Connection conn = null;// 创建一个数据库连接
	String zpinjie="";
	public String   getValue() throws Exception
	{
		// 1.加载驱动,使用反射的知识,现在记住这么写。
		// Class.forName("com.mysql.jdbc.Driver");
		//Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
		Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
	try{
			// 2.使用DriverManager获取数据库连接,
			// 其中返回的Connection就代表了Java程序和数据库的连接
			// 不同数据库的URL写法需要查驱动文档知道,用户名、密码由DBA分配
			// Connection conn = DriverManager.getConnection(
			// "jdbc:mysql://127.0.0.1:3306/company"
			// , "root" , "111");
			//[email protected]//192.168.1.922:1521/ORCL
			System.out.println("开始尝试连接数据库!");  //jdbc:oracle:thin:@192.168.3.163:1521:ORCL1
			String url = "jdbc:oracle:thin:@192.168.1.922:1521:ORCL";// 127.0.0.1是本机地址,XE是精简版Oracle的默认数据库名
			//System.out.println("已开始连接数据库!");
			String user = "mcadmin";// 用户名,系统默认的账户名
			String password = "schtest";// 你安装时选设置的密码
			
			conn = DriverManager.getConnection(url, user, password);// 获取连接
			System.out.println(conn);
			// 3.使用Connection来创建一个Statment对象
			Statement stmt = conn.createStatement();
			// 4.执行SQL语句
			/*
			Statement有三种执行sql语句的方法:
			1、 execute 可执行任何SQL语句。- 返回一个boolean值,
			如果执行后第一个结果是ResultSet,则返回true,否则返回false
			2、 executeQuery 执行Select语句 - 返回查询到的结果集
			3、executeUpdate 用于执行DML语句。- 返回一个整数,
			代表被SQL语句影响的记录条数
			*/
			ResultSet rs = stmt.executeQuery("select * from NMSCH_工程主表 ");
		
			// ResultSet有系列的getXxx(列索引 | 列名),用于获取记录指针
			// 指向行、特定列的值,不断地使用next()将记录指针下移一行,
			// 如果移动之后记录指针依然指向有效行,则next()方法返回true。
			
			while(rs.next())
			{
				zpinjie+=rs.getString("工程名称")+",";
				System.out.println(rs.getString("工程名称"));
			}
			
			
	}
	catch(Exception ex)
	{
			ex.printStackTrace();
	}
	
	
	return zpinjie;

	}

}

java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERR