小编Arp*_*wal的帖子

如何重用ArrayDescriptor?

我试过下面的代码:

public class Abc {

    private ArrayDescriptor arrayDesc;

    void init() {
       connection = //create connection
        arrayDesc = ArrayDescriptor.createDescriptor("DBTYPE",connection);
    }

    void m1() {
        conn1 = //create connection
        ARRAY array_to_pass1 = new ARRAY( arrayDesc , conn1, idsArray1 ); 
    }

    void m2() {
        conn2 = //create connection
        ARRAY array_to_pass2 = new ARRAY( arrayDesc , conn2, idsArray2 ); 
    }

}
Run Code Online (Sandbox Code Playgroud)

此代码给出以下错误:

table.java.sql.SQLException:oracle.sql.DatumWithConnection.assertNotNull(DatumWithConnection.java:103)中缺少描述符

怎么解决这个问题?

java arrays oracle database-connection

5
推荐指数
1
解决办法
414
查看次数

如何停止休眠过度日志记录?

我的应用程序使用休眠及其打印的日志记录。我尝试将日志记录设置为错误级别,如下所示。但是,它不会将休眠日志记录设置为错误级别。这里有什么遗漏吗?

pom.xml :

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.11.2-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.11.2-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-jul</artifactId>
    <version>2.11.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

log4j2.xml

    <?xml version="1.0" encoding="UTF-8"?>

<Configuration status="INFO">

    <Appenders>
        <Console name="CONSOLE" target="SYSTEM_OUT">
            <PatternLayout
                pattern="[%d{dd MMM yyyy HH:mm:ss}] [%-5p] [%t] [%C{1}:%M:%L] - %m%n" />
        </Console>
    </Appenders>

    <Loggers>
        <Logger name="com.myapp" level="error" additivity="false">
            <AppenderRef ref="CONSOLE" />
        </Logger>
        <Root level="info">
            <appender-ref ref="CONSOLE" />
        </Root>
        <Logger name="org.hibernate" level="error" additivity="false">
            <AppenderRef ref="CONSOLE" />
        </Logger>

    </Loggers>

</Configuration>
Run Code Online (Sandbox Code Playgroud)

使用的休眠和弹簧版本:

<spring-framework.version>4.0.3.RELEASE</spring-framework.version>
        <hibernate.version>3.6.9.Final</hibernate.version> 
Run Code Online (Sandbox Code Playgroud)

记录其打印

19:05:16.733 [[ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.hql.ast.ErrorCounter …
Run Code Online (Sandbox Code Playgroud)

java hibernate

4
推荐指数
1
解决办法
577
查看次数

Unix命令在另一个file2中搜索file1 id并将结果写入file3

我必须从一个文件中读取 ids 并在第二个 xml 文件中搜索它,如果找到则将整行写入第三个文件。文件 1 为 111 MB,文件 2 为 40 GB

文件1.xml

id1
id2
id5
Run Code Online (Sandbox Code Playgroud)

文件2.xml

<employees>
<employee><id>id1</id><name>test1</name></employee>
<employee><id>id2</id><name>test2</name></employee>
<employee><id>id3</id><name>test3</name></employee>
<employee><id>id4</id><name>test4</name></employee>
<employee><id>id5</id><name>test5</name></employee>
<employee><id>id6</id><name>test6</name></employee>
</employees>
Run Code Online (Sandbox Code Playgroud)

File3.xml:结果

<employee><id>id1</id><name>test1</name></employee>
<employee><id>id2</id><name>test2</name></employee>
<employee><id>id5</id><name>test5</name></employee>
Run Code Online (Sandbox Code Playgroud)

我用 grep 试过了

grep -i -f file1.xml file2.xml >> file3.xml
Run Code Online (Sandbox Code Playgroud)

但它给出了内存耗尽错误。

我用循环和 awk 命令尝试的另一种方法。

#while read -r id;do
#awk  -v pat="$id" '$0~pat' file2.xml  >> file3.xml
#done < file1.xml
Run Code Online (Sandbox Code Playgroud)

它也花费了太多时间。对此最好的解决方案是什么?

unix awk grep

2
推荐指数
1
解决办法
103
查看次数

标签 统计

java ×2

arrays ×1

awk ×1

database-connection ×1

grep ×1

hibernate ×1

oracle ×1

unix ×1