精华内容
参与话题
问答
  • 最近一直再研究如何用proc开发对接oracle数据的知识,现在算是告一段落 本文只要是给大家一个了解怎么在proc的开发中对远程oracle数据的链接、断开、和基本操作。 对本地的oracle数据库来说理论上应该也是适用的。 ...
    这是本人第一次在此写文章,如有不之处 请大家多多指正!

    最近一直再研究如何用proc开发对接oracle数据的知识,现在算是告一段落

    本文只要是给大家一个了解怎么在proc的开发中对远程oracle数据的链接、断开、和基本操作。

    对本地的oracle数据库来说理论上应该也是适用的。

    首先说下过程中遇到的问题:

    1.能连接上远程的oracle数据库,但在操作数据库时提示未登录

    2.在断开连接时同样提示未登录

    问题分析:

    其实这两个问题实质上是同一个问题,由于我连接数据库的时候是用的IP和端口连接的。所以后续的操作没有指定实例(数据库)导致提示我未登录

    解决方法:

    连接数据库的时候指定实例(数据库),后续的操作中指定实例(数据库)就OK啦

    在此提示下:在proc的开发中,proc编译器是挑空格的。所以大家在开发是要注意这一点,不然很可能导致你的代码写的对的,但是编译的时候可能出现莫名其妙的问题。


    下面是示例代码:

    #include <stdio.h>
    #include <sqlca.h>
    #include <oraca.h>


    int main()
    {
        int lcount = 0;
        char user[]="wangly";
        char passwd[]="123456";
        char host[]= "172.16.15.216:1523";
        char dbname[]="orcl";
        char connect_string[]="orcl";
        char tablename[]= "TBL_ALARM_INFO";
     
        EXEC SQL CONNECT :user IDENTIFIED BY :passwd AT :dbname USING :connect_string;
        if (sqlca.sqlcode == 0)
        {
            printf("Connect successful!\n");
        }
        else
        {
            printf("connect err: %s\n",sqlca.sqlerrm.sqlerrmc);
            return -1;
        }


        EXEC SQL AT :dbname SELECT COUNT(*) INTO :lcount FROM TBL_ALARM_INFO;
        if (sqlca.sqlcode == 0)
        {
            printf("lcount=%d\n", lcount);
        }
        else
        {
            printf("select err:%s\n",sqlca.sqlerrm.sqlerrmc);
            return -1;
        }




        EXEC SQL AT :dbname ROLLBACK WORK RELEASE;
        if (sqlca.sqlcode == 0)
        {
            printf("Disconnect successful!\n");
        }
        else
        {
            printf("commit err: %s\n",sqlca.sqlerrm.sqlerrmc);
            return -1;
        }
        return 0;
    }

    展开全文
  • 三个jar依赖(maven项目):Junit jdbc org.apache.tomcat.dbcp 一个database.properties文件内容如下: ...jdbc.driver=oracle.jdbc.driver.OracleDriver jdbc.url=jdbc:oracle:thin:@119.29.159.215:8771:o

    三个jar依赖(maven项目):Junit jdbc org.apache.tomcat.dbcp

    一个database.properties文件内容如下:

    #数据库的配置信息
    #key.key2=value
    jdbc.driver=oracle.jdbc.driver.OracleDriver
    jdbc.url=jdbc:oracle:thin:@119.29.159.215:8771:orcl
    jdbc.username=scott
    jdbc.password=tiger
    initSize=10
    maxSize=200

    连接池代码:

    package HuangCD.Util;
    
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.Properties;
    
    import org.apache.tomcat.dbcp.dbcp.BasicDataSource;
    
    public class DBUtil {
        //连接池对象
        private static BasicDataSource ds;
        private DBUtil(){
        	
        }
        //加载参数
        static{
            Properties p = new Properties();
            try {
                p.load(DBUtil.class.getClassLoader().getResourceAsStream("database.properties"));
                String driver = p.getProperty("jdbc.driver");
                String url = p.getProperty("jdbc.url");
                String user = p.getProperty("jdbc.username");
                String pwd = p.getProperty("jdbc.password");
                String initSize = p.getProperty("initSize");
                String maxSize = p.getProperty("maxSize");
                //创建连接池
                ds = new BasicDataSource();
                //设置参数
                ds.setDriverClassName(driver);
                ds.setUrl(url);
                ds.setUsername(user);
                ds.setPassword(pwd);
                ds.setInitialSize(new Integer(initSize));
                ds.setMaxActive(new Integer(maxSize));
            } catch (IOException e) {
                e.printStackTrace();
                throw new RuntimeException("加载配置文件失败",e);
            }
        }
        /*
         * 以上就是将配置文件里的参数全部读取出来,接下来就是要
         * 写两个方法,一个是用来创建连接的,一个关闭连接
         * */
        public static Connection getConnection() throws SQLException{
            return ds.getConnection();
        }
        
        public static void close(Connection conn){
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    throw new RuntimeException("关闭连接失败",e);
                }
            }
        }
    }
    测试代码:
    package HuangCD.Util;
    
    
    
    
    import java.sql.Connection;
    import java.sql.SQLException;
    
    
    import org.junit.Test;
    
    
    
    
    
    
    public class Testdb {
        @Test
        public void test01(){
            Connection conn = null;
            try {
                conn = DBUtil.getConnection();
                System.out.println("OK!");
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                DBUtil.close(conn);
            }
            
        }
    }

    测试成功:


    展开全文
  • 第一种情况: 若oracle服务器装在本机上,那就不多说了,连接只是用户名和密码问题了。不过要注意环境变量%ORACLE_HOME%/network/admin/是否设置。 第二种情况: 本机未安装oracle服务器,也未安装oracle客户端...
    第一种情况:
      若oracle服务器装在本机上,那就不多说了,连接只是用户名和密码的问题了。不过要注意环境变量%ORACLE_HOME%/network/admin/是否设置。
      第二种情况:
      本机未安装oracle服务器,也未安装oracle客户端。但是安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。
      这种情况下,本人以pl sql development远程连接ORACLE服务端数据库为例:
      1、在安装oracle服务器的机器上搜索下列文件:
    复制代码代码如下:
    oci.dll
    ocijdbc10.dll
    ociw32.dll
    orannzsbb10.dll
    oraocci10.dll
    oraociei10.dll
    sqlnet.ora
    tnsnames.ora
    classes12.jar
    ojdbc14.jar

      把这些找到的文件复制放到一个文件夹,如 oraclient,将此文件夹复制到客户端机器上。如放置路径为 D:\oraclient。
      2、配置tnsnames.ora,修改其中的数据库连接串。
    复制代码代码如下:
    oracledata =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = oracledata)
    )

      其中,oracledata是要连接的服务名;HOST = 192.168.0.58,是服务器IP地址;PORT = 1521是端口号。
      3、添加第一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:\oraclient,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。这步是最重要的。
      添加第二个环境变量(可有可无):“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)(本步骤暂时要做对,如果编码不对,会产生乱码)。
      4、下载并安装PL SQL Developer配置应用:
      打开PL SQL Developer,登入界面点取消,进入后选择菜单栏 tools->preferences->connection :
      Oracle Home=D:\oracleclient
      OCI library=D:\oracleclient\oci.dll
      5、再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。
      第三种情况:
      本机未安装ORACLE服务器,但是安装了oracle客户端,也安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。
      这种情况下,本人以pl sql development远程连接oracle服务端数据库为例:
      1、打开oracle客户端中的net manager,配置要远程连接的数据库名、IP地址等,如果net manager中没有要远程连接的数据库名,则新建即可。
      2、其他步骤与第二种情况中的2---5相同。 
        第四种情况:
      本机未安装oracle服务器,也未安装pl sql development、toad sql development、sql navigator等管理数据库的工具,但是安装了oracle客户端。在虚拟机或者另一台电脑上安装了ORACLE服务器,也就是虚拟机或者另一台电脑此时作为服务器。
      这种情况下,本人以oracle客户端中的sqlplus远程连接oracle服务端数据库为例:
      1、打开oracle客户端中的net manager,配置要远程连接的数据库名、IP地址等,如果net manager中没有要远程连接的数据库名,则新建即可。
      2、同第二种情况中的步骤二。
      3、同第二种情况中的步骤三。
      4、打开sqlplus:
      (1)如果用sys用户登入,则用户名:sys 密码:xxxxxx 主机字符串:要连接的数据库名 as sysdba,登入即可。
      (2)如果用其他用户登入,则用户名:xxx 密码:xxxxxx 主机字符串:要连接的数据库名,登入即可。
      注意事项:
      1、服务器端和客户端防火墙需要关闭;
      2、我们经常会遇到监听器服务无法启动,那么需要打开Net Configuration Assistant修复,或者新建监听器服务。
      3、数据库密码如果忘了怎么办?按照以下方法修改密码即可:
      开始-->运行-->cmd
      输入 :sqlplus /nolog 回车
      输入 :connect / as sysdba 回车
      用户解锁 : alter user system account unlock 回车
      修改密码:alter user system identified by manager
      4、怎样判断数据库是运行在归档模式下还是运行在非归档模式下?
      进入dbastudio,历程--〉数据库---〉归档查看。
      5、另外,如果本机和别的机子均安装了oracle服务器端,那么本机如果要连接别的机子,就必须修改环境变量。
    展开全文
  • 连接oracle 数据测试程序(首先要导入 ojdbc14.jar ) public class TestJDBC { public static void main(String[] args) {  try{  Class.forName("oracle.jdbc.driver.OracleDriver");  ...
    连接oracle 数据测试的程序(首先要导入 ojdbc14.jar )


    没有导入 jar 包会提示:java.lang.ClassNotFoundException: oracle.jdbc.driver.oracledriver

    public class TestJDBC {
    public static void main(String[] args) {
     try{
      Class.forName("oracle.jdbc.driver.OracleDriver");
      Connection conn = DriverManager.getConnection(
         "jdbc:oracle:thin:@192.168.12.129:1521:ORCL", "username", "pass"); 
     } catch (ClassNotFoundException e) {
      e.printStackTrace();
     } catch (SQLException e) {
      e.printStackTrace();
     }
    }
    }
    展开全文
  • php oracle数据连接

    2013-11-27 14:09:35
    下载 instantclient-basic-win32-...instantclient-basic下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 将instantclient-basic-win32-10.2.0.4.zip解压出来文件
  • Qt5.4连接Oracle数据方法;使用"tnsnames.ora" 连接数据!
  • 如何用eclipse将数据库oracle数据连接,实现查询数据库中信息以及更改添加表中内容。 非常灵活易操作以及更改
  • 每次连接数据库,oracle都会记录日志,比如listener.log,当日子文件超过2G时,linux操作大文件就会无法写入,导致监听器失败,不能正常连接数据库。重启监听器之后就会把日志文件重置。我们程序由于有很多demo...
  • The Network Adapter could not establish the connection 总是报这个,但相同配置同事电脑就连上了,不明白我电脑到底哪里出了问题 求各位大神帮忙解答一下
  • 开发Springboot连接oracle数据的情况,目前在工作中很少能遇到,可是偶尔有一个,那也得硬着头皮上,开发过程中也遇到了不少问题,这里再次记录一下查询数据时报表或视图不存在的问题。 描述:表或视图不存在的问题...
  • 由于微软在.Net框架4.0中已经决定撤销使用System.Data.OracleClient,造成在VS2010中无法连接Oracle数据库,但它还依旧存在于.Net架构中,我们可以通过自己引用  C:\Windows\Microsoft.NET\Framework\v2.0.50727...
  • navicat连接oracle数据闪退以及报错提示Oracle library is not loadednavicat连接oracle数据闪退报错提示Oracle library is not loaded navicat连接oracle数据闪退 在navicat12版本可视化工具连接oracle数据库...
  • 建立Oracle 11gODBC数据连接

    热门讨论 2011-11-06 18:00:44
    在windows7 64位中安装oracle 11g后,建立Oracle 11gODBC数据连接
  • WebSphere中的Oracle数据源设置------JSP 和Oracle数据库的连接 Oracle是目前国际上最为流行的关系型对象数据库,已经成为大,中型管理信息系统的首选数据库产品;而JAVA语言天生跨平台,加上“一次编写,到处运行...
  • win7下ODBC数据oracle的链接 直接在“控制面板---管理工具----数据源(ODBC)” 打开数据源配置,发现只有SQLServer驱动,其他都没有了。 解决方法是: C:\Windows\SysWOW64 在该目录下找到: ...
  • 要获取另外一个数据库...目前是可以使用plsql登录目标数据库,但是使用数据链路连接目标数据库查询信息却报TNS连接超时错误。端口网络都是通,plsql也可以操作远程数据库,连接配置应该也是没有问题,求解!1111
  • 多年以后,在操作oracle 时 发现 jdbc 连接都连不上哈。   Java代码 jdbc.properties driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@127.0.0.1:1521:orcl username=sys password=...
  • JDBC与Oracle的连接

    2013-03-24 11:06:38
    ----java与Oracle数据的连接(lomboz_eclipse环境下)  1.在Oracle数据库安装文件夹中找到jdbc文件夹→lib文件夹→classesl2.jar  2.lomboz_eclipse中导入此Jar包  导入方法:  建立一个项目,在项目名称上...
  • 我们知道oracle数据库是大小写敏感的,默认情况...先上代码,jfinal连接oracle的连接部分:  Properties p = loadConfigs("db.properties");  String db_url = p.getProperty("db_url");  String db_name =
  • 在上一篇文章中:oracle数据库数据迁移三部曲(一)oracle 11g安装 我们已经安装好了oracle11g数据库。在这篇文章中将会主要介绍将我们dmp数据文件导入进我们安装的oracle 11g。环境依然oracle 11g安装时候...
  • 连接oracle数据库 账号和密码是全大写 会报连接出错问题(因为oracle帐号都是小写所以会出现这个问题,所以 帐号 如果创建是小写连接名最好小写,因为oracle登录有区分大小写) java.sql.SQLException: ORA-...
  • Oracle Database之表连接,本篇文章将介绍有关表的连接条件和连接类型,这些知识是构建高级查询的必要条件。
  • 本文实例讲述了php连接oracle数据库及查询数据的...php有强大的功能不但可以支持mysql,mssql,mysqli之个我们还可以与oracle数据连接,要让php支持oracle非常的简单我们只要把php.ini中的;extention = php_oci8.d...
  • Oracle数据库连接到非Oracle数据库和外部数据几种方法
  • sql2008连接oracle数据报分布式错误,请大神门指导下,网上说方案已经试过了。。谢谢了
  • 将DriverClassName以前的oracle.jdbc. driver.OracleDriver 修改成oracle.jdbc.OracleDriver。
  • 64位操作系统在本地安装oracle数据库情况下,怎么使用plsql连接远程或者本地的oracle数据 目前plsql只支持32位oracle客户端,如何在本地安装了64位oracle数据库情况下使用plsql连接数据呢? 1)首页要安装32...
  • JDBC连接并访问Oracle数据的程序代码

    千次阅读 2018-07-26 17:21:17
    Connection cn = null; PreparedStatement pstmt = null; Resultset rs = null; try{  Class.forname(driveClassName);  cn = DriverManager.getConnection(url,username,password);... pstmt =...
  • 这几天在做大数据量入库存储实验,在大量数据执行拟造过程中数据库出现了问题无法继续执行,初步推断是因为大数据量插入导致数据库连接断开,问题记录如下: 原文地址:...

空空如也

1 2 3 4 5 ... 20
收藏数 11,900
精华内容 4,760
关键字:

oracle数据的连接