精华内容
下载资源
问答
  • 【PowerBuilder】代码连接oracle数据库

    千次阅读 2017-03-24 17:20:32
    复制PB自带连接工具中的代码,加入后面代码即可SQLCA.DBMS = "O10 Oracle10g (10.1.0)" SQLCA.LogPass = "密码" SQLCA.ServerName = "服务名" SQLCA.LogId = "用户名" SQLCA.AutoCommit = False SQLCA.DBParm = ...
    
    
    复制PB自带连接工具中的代码,加入后面代码即可
    SQLCA.DBMS = "O10 Oracle10g (10.1.0)"
    SQLCA.LogPass = "密码"
    SQLCA.ServerName = "服务名"
    SQLCA.LogId = "用户名"
    SQLCA.AutoCommit = False
    SQLCA.DBParm = "PBCatalogOwner='用户名'"
    disconnect using sqlca;
    CONNECT USING sqlca;
    if sqlca.sqlcode<>0 then
        messagebox('提示','连接数据库失败')
    else
        messagebox('提示','连接数据库成功')
    end if
    

     

    展开全文
  • 最近在使用C#代码连接Oracle数据库,分为两部分,WCF的客户端与服务端。程序启动与运行都没有问题,部署到服务器上后,运行也没有问题。但是第二天再访问的时候,就会抛出下边所示的异常。这是怎么回事? Oracle...

    最近在使用C#代码连接Oracle数据库,分为两部分,WCF的客户端与服务端。程序启动与运行都没有问题,部署到服务器上后,运行也没有问题。但是第二天再访问的时候,就会抛出下边所示的异常。这是怎么回事?

     

    Oracle.DataAccess.Client.OracleException ORA-03135: connection lost contact
    	Process ID: 22574
    	Session ID: 799 Serial number: 43225    Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
    	   at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
    	   at Oracle.DataAccess.Client.OracleDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
    	   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
    	
    


    相关的用于连接Oracle数据库的代码也非常典型,没有一点复杂。

     

     

    public DataSet ExcuteDataSetForOralce(string sql, CommandType type, List<OracleParameter> paras)
            {
                DataSet ds = new DataSet();
                OracleCommand cmd = null;
                try
                {
                    using (OracleConnection conn = new OracleConnection(ConnectionString))
                    {
                        using (cmd = new OracleCommand(sql, conn))
                        {
                            if (paras != null)
                            {
                                foreach (OracleParameter p in paras)
                                {
                                    cmd.Parameters.Add(p);
                                }
                            }
                            cmd.CommandType = type;
                            OracleDataAdapter oda = new OracleDataAdapter();
                            oda.SelectCommand = cmd;
                            conn.Open();
                            oda.Fill(ds, "tempTable");
                            conn.Close();
                        }
                    }
                }
                catch (Exception ex)
                {
                    log.Error("error", ex, LogType.Error);
                }
                return ds;
            }
    

     

     

     

    通过多方查找,发现这并不是代码的问题。而且Provider与数据库连接的问题。实际上,我们new一个连接的时候,是从数据库连接池里边拿到的连接,这些连接放在.NET Provider里边。Conn.Close()并不是关闭了连接,而是把连接还给了连接池。

     

    现在的问题是Oracle Provider的问题,而不是代码的问题。你的程序很久没有跟数据库交互了,数据库服务器端就把连接的Open状态关了,但是Provider没有及时处理,依然给了C#代码用,所以就抛出了这个异常。

     

    解决办法就是,不使用连接池,每次直接连数据库,虽然不会出现这个问题,但是会有性能上的损失。

     

    在app.config的配置文件中,在DataSource=((Description...)这个字符串中,加入不使用连接池。

     

     

     

    Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521)))(CONNECT_DATA =(SERVICE_NAME=xxx)(SERVER = DEDICATED)));User ID=xxx;password=xxxxx;Pooling=false;

     

     

     

    http://bbs.csdn.net/topics/392025524

     

    展开全文
  • 这里连接的是oracle数据库。 JDBC是什么:JDBC是java数据库连接技术的简称,提供连接各种常用数据库的能力。 客户端发送请求给应用服务器,应用服务器通过JDBC连接到数据库服务器,查询数据库中的数据,返回一个结果...

    这里连接的是oracle数据库。

    JDBC是什么:JDBC是java数据库连接技术的简称,提供连接各种常用数据库的能力。

    客户端发送请求给应用服务器,应用服务器通过JDBC连接到数据库服务器,查询数据库中的数据,返回一个结果集,再把结果集转换成实体类传递给客户端。

    JDBC连接数据库的步骤:加载驱动、建立连接、执行SQL语句、返回结果集

    下图主要详细描述了客户端是如何连接到数据库的:


    访问数据库的代码一般都放在DAO(Data Assess Object 数据库存取对象)层,DAO层位于业务逻辑和持久化数据之间,实现对持久化数据的访问。DAO层起着转换器的作用,把实体类转换为数据库中的记录,或者把数据库中的记录转换成实体类。

    利用JDBC实现登录功能(代码):

    登录页面:login.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        
        <title>登录</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
      <body>
      	<form action="login.action">
      		用户名:<input type="text" name="uname" value="${param.uname }"><br/>
      		密码:<input type="password" name="pwd" value="${param.pwd }"><br/>
      		<input type="submit" value="登录"><br/>
      		<span style="color: red;">${requestScope.error }</span>
      	</form>
      	<a href="register.jsp">没有账号,立即注册</a>
      </body>
    </html>

    建立一个实体类:User.java

    package com.jredu.entity;
    /**
     * 实体类
     * @author Administrator
     *
     */
    public class User {
    	
    	private int id;
    	private String uname;
    	private String pwd;
    	
    	public User() {
    		super();
    	}
    	
    	public User(String uname, String pwd) {
    		super();
    		this.uname = uname;
    		this.pwd = pwd;
    	}
    
    	public User(int id, String uname, String pwd) {
    		super();
    		this.id = id;
    		this.uname = uname;
    		this.pwd = pwd;
    	}
    
    
    	public int getId() {
    		return id;
    	}
    
    
    	public void setId(int id) {
    		this.id = id;
    	}
    
    
    	public String getUname() {
    		return uname;
    	}
    
    
    	public void setUname(String uname) {
    		this.uname = uname;
    	}
    
    
    	public String getPwd() {
    		return pwd;
    	}
    
    
    	public void setPwd(String pwd) {
    		this.pwd = pwd;
    	}
    }
    


    LoginServlet.java

    package com.jredu.controller;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.jredu.entity.User;
    import com.jredu.service.LoginService;
    import com.jredu.service.impl.LoginServiceImpl;
    @WebServlet(value="/login.action")
    public class LoginServlet extends HttpServlet {
    	
    	private LoginService service;
    
    	/**
    	 * The doGet method of the servlet. <br>
    	 *
    	 * This method is called when a form has its tag value method equals to get.
    	 * 
    	 * @param request the request send by the client to the server
    	 * @param response the response send by the server to the client
    	 * @throws ServletException if an error occurred
    	 * @throws IOException if an error occurred
    	 */
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		doPost(request, response);
    	}
    
    	/**
    	 * The doPost method of the servlet. <br>
    	 *
    	 * This method is called when a form has its tag value method equals to post.
    	 * 
    	 * @param request the request send by the client to the server
    	 * @param response the response send by the server to the client
    	 * @throws ServletException if an error occurred
    	 * @throws IOException if an error occurred
    	 */
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		String uname=request.getParameter("uname");
    		String pwd=request.getParameter("pwd");
    		//调用javabean
    		service=new LoginServiceImpl();
    		User user=service.login(uname, pwd);
    		//跳转jsp
    		if(user!=null) {
    			request.getSession().setAttribute("user", user);
    			response.sendRedirect("index.jsp");
    		} else {
    			request.setAttribute("error", "登录失败请重新输入");
    			request.getRequestDispatcher("login.jsp").forward(request, response);
    		}
    		
    	}
    
    }
    

    LoginService.java

    package com.jredu.service;
    
    import com.jredu.entity.User;
    
    public interface LoginService {
    	/**
    	 * 登录功能
    	 * @param uname
    	 * @param pwd
    	 * @return
    	 */
    
    	User login(String uname, String pwd);
    
    }
    


    LoginServiceImpl.java

    package com.jredu.service.impl;
    
    import com.jredu.dao.UserDao;
    import com.jredu.dao.impl.UserDaoImpl;
    import com.jredu.entity.User;
    import com.jredu.service.LoginService;
    
    public class LoginServiceImpl implements LoginService {
    
    	private UserDao ud=new UserDaoImpl();
    	@Override
    	public User login(String uname, String pwd) {
    		// TODO Auto-generated method stub
    		//下面是业务处理,访问数据库在UserDaoImpl类中
    		User user = new User(uname,pwd);
    		return ud.findUser(user);
    		
    	}
    
    }
    


    UserDao.java

    package com.jredu.dao;
    
    import java.util.List;
    
    import com.jredu.entity.User;
    /**
     * 数据库访问的接口。
     * @author jiaxutianhuo
     *
     */
    public interface UserDao {
    	//登录
    	User findUser(User user);
    	
    	//查询
    	public List<User> query(String sql,String sex) throws Exception;
    }
    


    UserDaoImpl.java

    package com.jredu.dao.impl;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.jredu.dao.UserDao;
    import com.jredu.entity.User;
    import com.jredu.util.BaseDao;
    
    
    public class UserDaoImpl extends BaseDao implements UserDao {
    	
    	@Override
    	public User findUser(User user) {
    		// TODO Auto-generated method stub
    		//3.执行sql语句
    		//4.获取结果集
    		ResultSet rs=executeQuery("select * from users where username=? and userpwd=?", user.getUname(),user.getPwd());
    		//访问数据库查询是否存在该用户
    		try {
    			//登录成功
    			if(rs.next()) {
    				//把结果集转换成实体类
    				user.setUname(rs.getString("username"));
    				user.setPwd(rs.getString("userpwd"));
    				user.setId(rs.getInt("userid"));
    				return user;
    			}
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} finally {
    			closeAll();
    		}
    		//不存在该用户
    		return null;
    	}
    
    	
    	//查询
    	@Override
    	public List<User> query(String sql, String sex) throws Exception {
    		// TODO Auto-generated method stub
    		List<User> list = new ArrayList<User>();
    		ResultSet rs = new BaseDao().executeQuery(sql, sex);
    		while (rs.next()) {
    			User us = new User();
    			us.setUname(rs.getString("name"));
    			list.add(us);
    		}
    		return list;
    	}
    
    }
    


    BaseDao.java

    package com.jredu.dao.impl;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.jredu.dao.UserDao;
    import com.jredu.entity.User;
    import com.jredu.util.BaseDao;
    
    
    public class UserDaoImpl extends BaseDao implements UserDao {
    	
    	@Override
    	public User findUser(User user) {
    		// TODO Auto-generated method stub
    		//3.执行sql语句
    		//4.获取结果集
    		ResultSet rs=executeQuery("select * from users where username=? and userpwd=?", user.getUname(),user.getPwd());
    		//访问数据库查询是否存在该用户
    		try {
    			//登录成功
    			if(rs.next()) {
    				//把结果集转换成实体类
    				user.setUname(rs.getString("username"));
    				user.setPwd(rs.getString("userpwd"));
    				user.setId(rs.getInt("userid"));
    				return user;
    			}
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} finally {
    			closeAll();
    		}
    		//不存在该用户
    		return null;
    	}
    
    	
    	//查询
    	@Override
    	public List<User> query(String sql, String sex) throws Exception {
    		// TODO Auto-generated method stub
    		List<User> list = new ArrayList<User>();
    		ResultSet rs = new BaseDao().executeQuery(sql, sex);
    		while (rs.next()) {
    			User us = new User();
    			us.setUname(rs.getString("name"));
    			list.add(us);
    		}
    		return list;
    	}
    
    }
    


    CharacterFilter.java

    package com.jredu.filter;
    
    import java.io.IOException;
    
    import javax.servlet.*;
    import javax.servlet.annotation.WebFilter;
    import javax.servlet.annotation.WebInitParam;
    /**
     * 编码过滤器
     * @author Administrator
     *
     */
    @WebFilter(value="/*",initParams={@WebInitParam(name="encoding",value="utf-8")})
    public class CharacterFilter implements Filter {
    
    	private String encoding;
    	
    	/**
    	 * 初始化
    	 */
    	@Override
    	public void init(FilterConfig filterConfig) throws ServletException {
    		// TODO Auto-generated method stub
    		System.out.println("字符编码过滤器启动...");
    		encoding=filterConfig.getInitParameter("encoding");
    	}
    
    	/**
    	 * 过滤功能
    	 */
    	@Override
    	public void doFilter(ServletRequest request, ServletResponse response,
    			FilterChain chain) throws IOException, ServletException {
    		// TODO Auto-generated method stub
    		//设置请求编码格式
    		request.setCharacterEncoding(encoding);
    		//设置响应编码格式
    		response.setContentType("text/html;charset="+encoding);
    		response.setCharacterEncoding(encoding);
    		chain.doFilter(request, response);
    	}
    	
    	/**
    	 * 销毁
    	 */
    	@Override
    	public void destroy() {
    		// TODO Auto-generated method stub
    		System.out.println("字符编码过滤器结束...");
    	}
    
    }
    


    index.jsp

    <%@ page language="java"
    	import="java.util.*,com.jredu.util.BaseDao,java.sql.Connection,java.sql.ResultSet"
    	pageEncoding="UTF-8"%>
    <%
    	String path = request.getContextPath();
    	String basePath = request.getScheme() + "://"
    			+ request.getServerName() + ":" + request.getServerPort()
    			+ path + "/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    </head>
    
    <body>
    	<%
    		ResultSet rs = new BaseDao()
    				.executeQuery("select * from users");
    		while (rs.next()) {
    	%>
    	<%=rs.getString("USERNAME")%><br />
    	<%
    		}
    	%>
    </body>
    </html>
    


    上述代码运行的结果是:

    用到的数据库是:

    什么是JNDI:JNDI(Java Naming and Directory Interface,java命名和目录接口),是一组在Java应用中访问命名和目录服务的API,通过名称将资源与服务进行关联。

    使用连接池的好处:

    1、可以弥补传统数据库连接方式的不足。传统数据库每一次请求时均需要连接数据库,资源占用较多;当并发访问

    数据量较大时,网站速度受到极大的影响;在访问结束后必须要关闭连接释放资源;系统的安全性和稳定性相对较差。

    2、企业级开发需要稳健和高效的数据访问层。使用连接池可以完成对数据库的CRUD操作,能够处理数据库发生的各种错误,可以灵活的修改配置,提供方便使用的工具,具有的性能较高。

    什么是连接池技术:


    连接池工作的原理:

    利用连接池实现登录:

    在上述代码的基础上稍加修改,下面是修改了的代码:

    UserDaoImpl.java

    package com.jredu.dao.impl;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.jredu.dao.UserDao;
    import com.jredu.entity.User;
    import com.jredu.util.BaseDao;
    import com.jredu.util.JNDIBaseDao;
    
    
    public class UserDaoImpl extends JNDIBaseDao implements UserDao {
    	
    	@Override
    	public User findUser(User user) {
    		// TODO Auto-generated method stub
    		//3.执行sql语句
    		//4.获取结果集
    		ResultSet rs=executeQuery("select * from users where username=? and userpwd=?", user.getUname(),user.getPwd());
    		//访问数据库查询是否存在该用户
    		try {
    			//登录成功
    			if(rs.next()) {
    				//把结果集转换成实体类
    				user.setUname(rs.getString("username"));
    				user.setPwd(rs.getString("userpwd"));
    				user.setId(rs.getInt("userid"));
    				return user;
    			}
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} finally {
    			closeAll();
    		}
    		//不存在该用户
    		return null;
    	}
    
    	
    	//查询
    	@Override
    	public List<User> query(String sql, String sex) throws Exception {
    		// TODO Auto-generated method stub
    		List<User> list = new ArrayList<User>();
    		ResultSet rs = new BaseDao().executeQuery(sql, sex);
    		while (rs.next()) {
    			User us = new User();
    			us.setUname(rs.getString("name"));
    			list.add(us);
    		}
    		return list;
    	}
    
    }
    

    JNDIBaseDao.java

    package com.jredu.util;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.sql.DataSource;
    
    public class JNDIBaseDao {
    
    	private DataSource source; //数据源
    	private Connection connection;
    	private PreparedStatement ps;
    	private ResultSet rs;
    	
    	{
    		try {
    			Context ic = new InitialContext();//初始化
    			source = (DataSource)ic.lookup("java:comp/env/jdbc/orcl");//在tomcat中配置
    		} catch (NamingException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    	public void getConnection() {
    		try {
    			connection=source.getConnection();//数据源创建connection
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    	/**
    	 * 增删改操作
    	 * @param sql
    	 * @param objs
    	 * @return 影响行数
    	 */
    	public int executeUpdate(String sql,Object... objs) {
    		if(connection==null) {
    			getConnection();
    		}
    		int res=-1;
    		try {
    			//设置手动提交事务
    			connection.setAutoCommit(false);
    			connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
    			ps=connection.prepareStatement(sql);
    			if(objs!=null) {
    				for(int i=0;i<objs.length;i++) {
    					ps.setObject(i+1, objs[i]);
    				}
    			}
    			res=ps.executeUpdate();
    			//手动提交事务
    			connection.commit();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			try {
    				connection.rollback();
    			} catch (SQLException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}
    		} finally {
    			if(ps!=null) {
    				try {
    					ps.close();
    				} catch (SQLException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    		}
    		return res;
    	}
    	
    	/**
    	 * 查询操作
    	 * @param sql
    	 * @param objs
    	 * @return
    	 */
    	public ResultSet executeQuery(String sql,Object... objs) {
    		if(connection==null) {
    			getConnection();
    		}
    		try {
    			ps=connection.prepareStatement(sql);
    			if(objs!=null) {
    				for(int i=0;i<objs.length;i++) {
    					ps.setObject(i+1, objs[i]);
    				}
    			}
    			rs=ps.executeQuery();
    			return rs;
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return null;
    	}
    	
    	public void closeAll() {
    		try {
    			if(rs!=null) {
    				rs.close();
    			}
    			if(ps!=null) {
    				ps.close();
    			}
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    }
    

    index.jsp

    <%@ page language="java"
    	import="java.util.*,com.jredu.util.JNDIBaseDao,java.sql.Connection,java.sql.ResultSet"
    	pageEncoding="UTF-8"%>
    <%
    	String path = request.getContextPath();
    	String basePath = request.getScheme() + "://"
    			+ request.getServerName() + ":" + request.getServerPort()
    			+ path + "/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    </head>
    
    <body>
    	<%
    		ResultSet rs = new JNDIBaseDao()
    				.executeQuery("select * from users");
    		while (rs.next()) {
    	%>
    	<%=rs.getString("USERNAME")%><br />
    	<%
    		}
    	%>
    </body>
    </html>
    

    还需要在tomcat下的conf文件夹下的context.xml下加上:
    <Resource name="jdbc/orcl" 
    auth="Container" type="javax.sql.DataSource" maxTotal="100"  
    maxIdle="30" maxWaitMillis="10000" username="zhao" password="Jredu12345" 
    driverClassName="oracle.jdbc.driver.OracleDriver"  
    url="jdbc:oracle:thin:@localhost:1521:orcl" />




    展开全文
  • JDBC连接oracle数据库代码

    千次阅读 2017-08-23 12:31:53
    封装一个连接Oracle数据库的类package com.muzi.unit;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;public class DButil { public Connection getcon

    需先配置好数据库驱动百度云下载 密码:w2wi
    封装一个连接Oracle数据库的类

    package com.muzi.unit;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class DButil {
    
        public Connection getconn() {
    
            try {
                Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
                String url = "jdbc:oracle:thin:@localhost:1521:orcl";// localhost是本机地址,可更改为IP地址
                String user = "muzi";// 用户名,系统默认的账户名
                String password = "123465";// 你安装时选设置的密码
                Connection conn = DriverManager.getConnection(url, user, password);// 获取连接
    
                return conn;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
        public void closeConn(Connection conn) {
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    

    使用实例(查询)
    根据自己数据库表更改

    package com.muzi.dao;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import com.muzi.unit.DButil;
    
    public class UserDao {
    
        public void getUserByUsername(String name) {
            DButil util = new DButil();//new一个实例
            Connection conn = util.getconn();
            // sql?
            String sql = "select * from users where u_name=?";//sql语句
            try {
                PreparedStatement pres = conn.prepareStatement(sql);//
                pres.setString(1,"name");//参数
                ResultSet res = pres.executeQuery();//获得结果集
                while(res.next()) {
                    String id = res.getString("u_id");//u_id是数据库表列名
                    String username = res.getString("u_name");
                    String password = res.getString("u_pass");
                    System.out.println(id+username+password);//输出
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
    
        }
    
    
    }
    

    使用实例(更新数据)

    package com.muzi.dao;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import com.muzi.unit.DButil;
    
    public class EditBrandDao {
        public int editBrand() {
            DButil util = new DButil();
            Connection conn = util.getconn();
            String sql = "update brand set b_name=?,b_phone=?,b_factory=? where b_id=?";
            try {
                PreparedStatement pres = conn.prepareStatement(sql);
                pres.setString(1, "");
                pres.setString(2, "");
                pres.setString(3, "");
                pres.setString(4, "");
                int  res = pres.executeUpdate();
                return res;
    
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return 0;
    
        }
    }
    
    展开全文
  • 我写的DBUtil类,后续仍可完善。package tools;import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement;... * 超完美的JDBC连接Oracle数据库的示例代码 * @author:yan
  • ssm连接oracle数据库

    千次阅读 2018-06-17 19:04:26
    之前ssm项目使用的都是mysql数据库,现在要使用oracle...加入连接oracle数据库的依赖包:&lt;!--oracle包--&gt; &lt;dependency&gt; &lt;groupId&gt;com.oracle&lt;/groupId&gt; ...
  • python连接oracle数据库实例

    千次阅读 2020-02-12 10:02:32
    这篇文章主要介绍了python连接oracle数据库的方法,实例讲述了连接Oracle数据库的具体步骤及常见的问题,需要的朋友可以参考下 本文实例讲述了python连接oracle数据库的方法,分享给大家供大家参考。具体步骤如下: 一...
  • C# winform窗体 怎么连接oracle数据库 谁有代码啊? 感激不尽
  • java连接Oracle数据库

    万次阅读 多人点赞 2018-10-26 11:33:57
    连接数据库有多种方式,对于初学者连接数据库,这里介绍两种方法及两种连接配置方式 方法一 运用statement  1、创建一个JDBC-statement项目 2、导包 --把连接数据库的驱动包导入 oracle驱动包可以在Oracle...
  • ODBC 连接 ORACLE数据库 代码

    千次阅读 2015-05-30 13:38:36
    最近的任务是封装一个ODBC连接数据库的类,查找了不少资料,对ODBC的函数有所了解,记录一下心得 windows下操作数据库主要的功能有:连接数据库,绑定插入数据,批量绑定插入(多为结构体),读取数据库数据,本文主要...
  • Java连接oracle数据库并进行测试

    万次阅读 2017-12-18 19:27:08
    oracle数据库作为老牌数据库,虽然现在的开发使用较少,但不免会使用到,所以这里讲解一下java连接oracle的过程(喜欢mysql的同学,也可以按...测试准备:下载连接oracle数据库的驱动,附上驱动下载地址:https://p...
  • jdbc连接oracle数据库

    千次阅读 2017-04-22 09:39:56
    jdbc连接Oracle数据库的步骤: 1.导入需要的jar包,比如ojdbc6.jar 2.加载驱动。Class.forName("oracle.jdbc.OracleDriver");不同版本的jar包的驱动名字可能会有相差。 3.连接数据库需要的url地址,用户名及密码...
  • Python连接Oracle数据库

    千次阅读 2018-08-15 14:31:12
    cx_Oracle模块是Python连接Oracle数据库的模块,在Python中,如果要连接Oracle,必须先安装cx_Oracle模块。 cx_Oracle的下载地址:https://pypi.python.org/pypi/cx_Oracle/ 选择和操作系统、Python版本一致的...
  • 用于Oracle的.NET Framework数据提供程序已经被弃用,需要下载Oracle Developer Tools for Visual Studio与合适的ODAC数据访问提供程序。 1.1插件下载与安装 1) 下载地址:...
  • * 一个非常标准的连接Oracle数据库的示例代码 */ public void testOracle(){ Connection con = null;// 创建一个数据库连接 PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用...
  • Oracle-Oracle数据库连接

    万次阅读 多人点赞 2019-05-09 21:25:45
    Oracle基础 在上一篇博客:https://blog.csdn.net/xu_benjamin/article/details/90047264 中我详细的说了Oracle...1.(补充上一篇博客)检查Oracle数据库是否安装成功 (1)打开电脑的服务,启动相应的Oracle服务...
  • echarts图表连接oracle数据库

    千次阅读 2018-12-22 21:54:58
    echarts图表连接oracle数据库问题 echarts图表的界面效果很丰富,但与数据库连接时总有各种问题,本方法已经过亲自尝试,绝对能够正确连接,附上代码,与大家共勉。 代码 数据库连接类DBManager.java. 数据库连接类...
  • Eclipse如何连接Oracle数据库

    万次阅读 多人点赞 2018-07-17 11:09:48
    打开Oracle数据库(先打开监听程序) 在Eclipse中连接数据库: 1、创建项目并构建路径 第一步创建一个Java项目 在项目里创建一个普通的文件夹,命名为lib 找到与Oracle连接相关的jar包,可以在Oracle的安装文件...
  • Java连接Oracle数据库的三种连接方式

    万次阅读 多人点赞 2016-12-27 21:01:57
    背景:这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询。SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQL、SQL Server)都...
  • Java通过JDBC连接Oracle数据库

    千次阅读 2019-02-15 16:18:36
    Java通过JDBC连接Oracle数据库 1. 下载Oracle连接驱动 https://mvnrepository.com/artifact/com.oracle/ojdbc6/12.1.0.1-atlassian-hosted 2.Java代码实现连接 String username = "用户名"; String ...
  • 频繁的创建和销毁数据库连接即消耗系统资源又使得程序效率低下,在这种情况下,出现了使用数据库连接池的方法,类似于线程池,初期创建一定数量的连接供应用程序使用,当使用完成后将其归还给连接池而不是销毁,这样...
  • Robot Framework连接Oracle数据库

    千次阅读 2019-03-11 17:21:45
    无论是通过python纯代码连接Oracle,还是通过RObotFramework框架连接Oracle,都需要使用到cx_Oracel模块,使用这个模块又需要其他环境的支持,以下是RobotFramework连接Oracle数据库的具体步骤: (1)安装...
  • 第一次发博客,就直接上代码了,嘿嘿
  • 动软代码生成器连接oracle数据库

    千次阅读 2017-05-03 10:24:13
    服务:要连接数据库的名字 用户名:登录数据库的用户名 口令:登录数据库的用户名对应的密码 4、关闭软件,重新打开,连接服务器 5、批量代码生成 新建项目功能只适合于第一次,因为不可能每次都新建项目...
  • PowerDesigner连接Oracle数据库【Oracle不在本机上】会出现一些问题: 第一个问题: SQL error: [Microsoft][ODBC driver for Oracle][Oracle]Error while trying to retrieve text for error ORA-01019添加Oracle...
  • JDBC连接Oracle数据库

    千次阅读 热门讨论 2014-01-11 00:19:42
    jdbC连接Oracle数据库的步骤,及连接Oracle11g出现问题的解决方法。
  • 下面是我出不连接数据库的详细代码和注释!package java_oracle;import java.sql.*;public class oracle { public static void main(String[] args) { try { // 加载驱动 Class.forName("oracle.jdbc.driv

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 170,312
精华内容 68,124
关键字:

代码连接oracle数据库