小编Bor*_*lev的帖子

SQL Ant 任务:警告:不建议在没有服务器身份验证的情况下建立 SSL 连接

我正在ant taskMySQL-5.7 服务器上运行一些 SQL,但我不想使用 SSL。我目前正在使用mysql-connector-java-5.1.42.jar连接到 MySQL-5.7 ( v5.7.18-0ubuntu0.16.04.1)

我的 SQL 属性如下所示

<sql
    url="jdbc:mysql://mysql.box.lan:3306/mydb?autoReconnect=true&amp;useSSL=false&amp;verifyServerCertificate=false"
    userid="my-user"
    password="xxx"
    driver="com.mysql.jdbc.Driver"
    onerror="continue"
    showWarnings="false"
    delimiter=";"
    encoding="UTF-8">
Run Code Online (Sandbox Code Playgroud)

不幸的是,驱动程序似乎并不关心 和/或 的任何组合autoReconnectuseSSL如此verifyServerCertificate此处此处所述

确切的错误是

2017 年 6 月 22 日星期四 12:20:32 GMT 警告:不建议在没有服务器身份验证的情况下建立 SSL 连接。根据 MySQL 5.5.45+、5.6.26+ 和 5.7.6+ 的要求,如果未设置显式选项,则必须默认建立 SSL 连接。为了符合不使用 SSL 的现有应用程序,verifyServerCertificate 属性设置为“false”。您需要通过设置 useSSL=false 显式禁用 SSL,或者设置 useSSL=true 并提供用于服务器证书验证的信任库。

mysql maven-ant-tasks

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

如何在执行JDBC语句时收集警告/通知?

我遇到了最新版PostgreSQL JDBC驱动程序的问题:在准备好的语句仍在执行时,我无法收集警告/通知.警告列表仅在语句返回后变为可用.

我使用此功能与一些以前的驱动程序版本(我猜9.1),但PgPreparedStatement从那时起实施可能已经改变.

在返回结果之前,我有哪些选择来收集警告?

我创建了这个简单的测试:

public class WarningTest {

    @Test
    public void readWarnings() throws Exception {
        Connection con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/test_db", "test_user", "test_password");
        createTestFunction(con);

        PreparedStatement statement = con.prepareStatement("SELECT test_function();");
        SQLWarning[] warnings = new SQLWarning[1];
        new Timer().schedule(new TimerTask() {
            @Override public void run() {
                try {
                    warnings[0] = statement.getWarnings();
                } catch (SQLException e) {
                    Assert.fail("Exception thrown: " + e.getMessage());
                }
            }
        }, 3500);
        statement.executeQuery();
        Thread.sleep(1000);
        statement.close();

        Assert.assertNotNull(warnings[0]);
        Assert.assertFalse(warnings[0].getMessage().isEmpty());
    }

    private void createTestFunction(Connection con) throws SQLException {
        final PreparedStatement statement = …
Run Code Online (Sandbox Code Playgroud)

java postgresql jdbc postgresql-9.4

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

存储用户定义的段 JSONB 与单独的表?

我想存储用户定义的段。一个段将由几个不同的规则组成。我想我要么创建一个单独的“规则”表,其中包含三列:属性名称、运算符和值。例如,如果细分是美国的用户,则其各自列中的规则将为“国家/地区 = 美国”。一个段可以有很多规则。

另一个选项是通过 Postgres 将这些作为 JSONB 存储在段表的“规则”列中。我会遵循与上面类似的模式,并使用一系列规则或其他东西。每种方法的优点和缺点是什么?

也许这两种方法都不是正确的方法。

postgresql schema database-design

3
推荐指数
1
解决办法
2154
查看次数

使用 Rails 中的 postgres json 字段更新嵌套键

我一直在尝试更新以下内容:

{"boxes": {"book": 2, "moving": 2}, "goods": {}}
Run Code Online (Sandbox Code Playgroud)

到 :

{"boxes": {"book_new": 2, "moving": 2}, "goods": {}}
Run Code Online (Sandbox Code Playgroud)

不使用正则表达式或在 ruby​​ 中执行此操作。但似乎有点棘手。我想添加新密钥然后删除旧密钥,我不熟悉语法,而且我在互联网上找不到太多东西。

我能够向数据添加新元素,但不能向嵌套框添加新元素!!像那样:

Update moves SET data = data::jsonb || '{"bookasas": 2}'   WHERE data ->> 'boxes' LIKE '%book%';
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

postgresql json jsonb

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

PHP - Foreach 循环 - 回显选定的值

为员工制作了类似crud 系统的东西。

用户可以输入有关员工的信息。在其他情况下,有一个“选择”输入,其中包含来自数据库的几个选项。当我填写表单并提交时,数据会进入数据库。

但是当我想编辑表单时,“选择”输入会获得另一个值,即使我没有在那里更改任何内容。所以我需要一些东西来回显选项中已经输入的值。

这是我用来循环类别的 foreach 循环:

<?php
$i = 0;
foreach($categories as $key => $category) {
    ?>
    <option value="<?php echo $category; ?>"><?php echo $category; ?></option>
    <?php
    $i++;
}
?>  
Run Code Online (Sandbox Code Playgroud)

如何从选择并存储在那里的数据库中获取值。谢谢

php mysql foreach for-loop

0
推荐指数
1
解决办法
2315
查看次数

我的程序有什么问题?

public class Stringreverser {
    public char[] reverse(String a){
        char[] arre = a.toCharArray() ;
        char[] result = {} ;
        int count = 0 ;
        for(int inarre = arre.length -1 ; inarre >= 0 ; inarre = inarre -1 ){
            result[count] = arre[inarre] ;

            count+= 1 ;
        }
        return result ;
    }
    public static void main(String argv[]){
        System.out.println(new Stringreverser().reverse("hello")) ;
    }
}
Run Code Online (Sandbox Code Playgroud)

这一直给我一个 -Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0错误。该程序应该接收一个字符串并反转并返回一个字符数组。问题似乎出在result[count] = arre[inarre] ;. 问题是什么 ?

java

-6
推荐指数
1
解决办法
100
查看次数