zoukankan      html  css  js  c++  java
  • cjdbc入门配置oracle

    config\controller 新建文件testcontroller.xml

    《具体关键的配置下面红色字体标出》

    内容如下:


    <?xml version="1.0" encoding="UTF8" ?>


    <!DOCTYPE C-JDBC-CONTROLLER PUBLIC "-//ObjectWeb//DTD C-JDBC-CONTROLLER 2.0.2//EN"  "http://c-jdbc.objectweb.org/dtds/c-jdbc-controller-2.0.2.dtd">


    <C-JDBC-CONTROLLER>

    <!-- ipAddress为当前系统的ip port为jdbc监听的端口 两个必填-->

      <Controller port="25322" ipAddress="192.168.3.149" backlogSize="11">
        <Report hideSensitiveData="true" generateOnShutdown="true" generateOnFatal="true" enableFileLogging="true" />
        <JmxSettings>
     <HttpJmxAdaptor port="8088"/>
        </JmxSettings>

            <!-- configFile为下面新建虚拟数据库的文件名称 virtualDatabaseName 是jdbc连接中url的数据库名称-->
    <VirtualDatabase configFile="oracle_test.xml" virtualDatabaseName="testDB" autoEnableBackends="true" checkpointName="Initial_test_oracle_recovery_log" />

      </Controller>
    </C-JDBC-CONTROLLER>


    config\virtualdatabase 新建oracle_test.xml

    内容如下:


    <?xml version="1.0" encoding="UTF8"?>
    <!DOCTYPE C-JDBC PUBLIC "-//ObjectWeb//DTD C-JDBC 2.0.2//EN" "http://c-jdbc.objectweb.org/dtds/c-jdbc-2.0.2.dtd">


    <C-JDBC>
        <!-- 这里的 name 必须和 控制文件的virtualDatabaseName 一致-->
      <VirtualDatabase name="testDB" maxNbOfConnections="0" poolThreads="true"  minNbOfThreads="0" maxNbOfThreads="0" maxThreadIdleTime="60" sqlDumpLength="60">


        <AuthenticationManager>

          <Admin>
          <User username="admin" password="admin"/>
          </Admin> 

         <!-- 这里的 VirtualUsers就是jdbc连接中的用户名和密码-->
          <VirtualUsers>
            <VirtualLogin vLogin="test" vPassword="test"/>
          </VirtualUsers>
        </AuthenticationManager>
    <!-- DatabaseBackend 就是真实的数据库配置-->
        <DatabaseBackend name="db_153" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.3.121:1521:orcl11g" connectionTestStatement="select * from dual">

           <!-- 如果是oracle DatabaseSchema 是必须的 schemaName 必须是大写的用户名 小写的一定不行 -->
           <DatabaseSchema gatherSystemTables="false" schemaName="LIAOMIN" dynamicPrecision="table">
          </DatabaseSchema>

       <!--rLogin和rPassword表示真实的用户名和密码  vLogin 表示映射到上面VirtualUsers里面的vLogin-->
          <ConnectionManager vLogin="test" rLogin="liaomin" rPassword="liaomin">
          <RandomWaitPoolConnectionManager poolSize="40" timeout="30"/>
          </ConnectionManager>
        </DatabaseBackend>
    <!--下面的同上面的配置 如果要集群 ConnectionManager 中的vLogin 都必须是一样的 表示相同的虚拟用户的操作会关联到这几个数据库中-->
         <DatabaseBackend name="db_121" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.3.153:1521:orcl" connectionTestStatement="select * from dual">
          <DatabaseSchema gatherSystemTables="false" schemaName="LIAOMIN" dynamicPrecision="table">
          </DatabaseSchema>
          <ConnectionManager vLogin="test" rLogin="liaomin" rPassword="liaomin">
          <RandomWaitPoolConnectionManager poolSize="40" timeout="30"/>
          </ConnectionManager>
        </DatabaseBackend>


    <!--
    <DatabaseBackend name="db_101" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.10.101:1521:tian" connectionTestStatement="select * from dual">
          <ConnectionManager vLogin="test" rLogin="liaomin" rPassword="liaomin">
          <RandomWaitPoolConnectionManager poolSize="40" timeout="30"/>
          </ConnectionManager>
        </DatabaseBackend>
    -->
        <RequestManager>
          <RequestScheduler>
             <RAIDb-1Scheduler level="passThrough"/>
          </RequestScheduler>


          <RequestCache>
             <MetadataCache/>
             <ParsingCache/>
             <ResultCache granularity="table" />
          </RequestCache>


           <LoadBalancer>
             <RAIDb-1>
                <WaitForCompletion policy="all"/>
                <RAIDb-1-LeastPendingRequestsFirst/>
             </RAIDb-1>
          </LoadBalancer>
        </RequestManager>
      </VirtualDatabase>


    </C-JDBC>



    要确认数据库可以连接 否者会抛出

    在cjdbc根目录新建批处理文件testrun.bat

    内容如下 :

    pushd %~dp0
    set CJDBC_HOME=%CD%
    set JAVA_HOME=E:\java\jdk6u30\jdk
    %CD%/bin/controller.bat -f %CD%/config/controller/testcontroller.xml


    将oracle连接的驱动 丢如 根目录/drivers下


    运行testrun.bat

    JAVA_HOME配置成jdk的路径


    在java中连接字符的写法为


    private static final  String url = "jdbc:cjdbc://localhost:25322/testDB";
    private static final String userName = "test";
    private static final String pwd = "test";


  • 相关阅读:
    斐波那契数列
    MySQL
    GIT
    shell执行Python并传参
    摘选改善Python程序的91个建议2
    摘选改善Python程序的91个建议
    django执行原生sql
    admin
    分支&循环
    git
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331374.html
Copyright © 2011-2022 走看看