小编Ana*_*nco的帖子

如何在我的项目中为dotnet核心引用System.Data.Odbc?

我有一个项目,我使用dotnet核心部署在Linux中,我需要读取.mdb文件.我想使用ODBC,但即使我看到System.Data.Odbc已经移植到这里,并且库的文档在这里我找不到它的nuget.

我该如何下载这个库?我是否必须从此处下载corefx项目并自行构建?这个图书馆什么时候发布?还有另一种方法来读取我的mdb文件吗?

odbc .net-core

7
推荐指数
1
解决办法
8871
查看次数

com.microsoft.sqlserver.jdbc.SQLServerException:对等方重置连接:sql server 2008 的 grails 应用程序中的套接字写入错误

我在连接数据库时遇到问题,我在 grails 中有一个应用程序连接到该数据库,每次备份数据库时,它都会阻止我的应用程序再次重新连接,我收到此异常:

com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset by peer: socket write error
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1654)
at com.microsoft.sqlserver.jdbc.TDSChannel.write(IOBuffer.java:1805)
at com.microsoft.sqlserver.jdbc.TDSWriter.flush(IOBuffer.java:3581)
at com.microsoft.sqlserver.jdbc.TDSWriter.writePacket(IOBuffer.java:3482)
at com.microsoft.sqlserver.jdbc.TDSWriter.endMessage(IOBuffer.java:3062)
at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:6120)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:402)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:285)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1953)
at org.hibernate.loader.Loader.doQuery(Loader.java:802)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
at org.hibernate.loader.Loader.doList(Loader.java:2542)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
at org.hibernate.loader.Loader.list(Loader.java:2271)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:119)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1716)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:347)
at org.codehaus.groovy.grails.orm.hibernate.metaclass.ListPersistentMethod$1.doInHibernate(ListPersistentMethod.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:407)
at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:344)
at org.codehaus.groovy.grails.orm.hibernate.metaclass.ListPersistentMethod.doInvokeInternal(ListPersistentMethod.java:59)
at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod.invoke(AbstractStaticPersistentMethod.java:79)
at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod.invoke(AbstractStaticPersistentMethod.java:72)
at org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi.list(HibernateGormStaticApi.groovy:236)
at org.grails.datastore.gorm.GormStaticApi.findAll(GormStaticApi.groovy:429)
at com.formacol.solicitud.cotizacion.Cliente.findAll(Cliente.groovy)
at com.formacol.solicitud.cotizacion.Cliente$findAll.call(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

sql grails datasource sql-server-2008

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

在声明性 Jenkinsfile 之前运行脚本以使用扩展选择参数插件

我正在尝试运行一个脚本来实例化扩展选择参数变量以在声明性 jenkinsfile 属性部分中使用它,但是我无法在没有步骤的情况下在 jenkinsfile 中运行脚本。我不想将其作为输入步骤或脚本管道来执行。

所以我运行它首先是一个节点步骤,然后是一个管道步骤,如下所示:

import com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition

node('MyServer') {

    try {
        def multiSelect = new ExtendedChoiceParameterDefinition(...)   

        properties([ parameters([ multiSelect ]) ])
    }
    catch(error){
        echo "$error"
    }
}

pipeline {

    stages {
        ....
    }
}
Run Code Online (Sandbox Code Playgroud)

它神奇地起作用了!需要注意的是,仅当我之前仅使用管道块运行过构建时。

那么,有没有更好的方法来运行以前的脚本到管道?能够为属性或步骤之外的其他地方创建对象以嵌入脚本块?

jenkins-pipeline extended-choice-parameter jenkins-declarative-pipeline

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

How to create a cucumber-java custom formatter to get cucumber tags

I have a cucumber project and I want to get al the tags in the project to be able to choose them as parameters.

I found this question where cucumber had an option to get the tags but I found that doesn't work anymore, then I found this other question where I found I need a custom formatter to get my tags, but it is for ruby, and I need it for Java, so then I found this article on …

custom-formatting cucumber-jvm

5
推荐指数
0
解决办法
1566
查看次数

在grails页面中显示多行文本

我对此感到很生气,我需要在grails 2.3.7中显示我从textarea获得的文本,但是当我为br /替换\ r \n字符并执行encodeAsHTML()时,我得到的是每个地方而不是新线.

怎么做?这就是我尝试过的:

${cotizacionInstance.descripcion.encodeAsHTML().replaceAll('\r\n', '<br/>')}

${cotizacionInstance.descripcion.replaceAll('\r\n', '<br/>').encodeAsHTML()}

<%=cotizacionInstance.descripcion.replaceAll('\r\n', '<br/>').encodeAsHTML()%>

<%=cotizacionInstance.descripcion.encodeAsHTML().replaceAll('\r\n', '<br/>')%>

<%=cotizacionInstance.descripcion.replaceAll('\r\n', '<br/>').decodeHTML()%>

<%=cotizacionInstance.descripcion.decodeHTML().replaceAll('\r\n', '<br/>')%>
Run Code Online (Sandbox Code Playgroud)

如果我使用pre标签,我不喜欢它的出现方式,因为我放弃了所有响应.

我看到在谷歌浏览器检查器中我得到双引号之间的字符串,但我不知道如何删除它们.

谢谢

string grails newline gsp

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

在io.netty.handler.ssl.Sslcontext中禁用主机名验证

有没有办法禁用io.netty.handler.ssl.Sslcontext的主机名验证?

我有以下代码:

sslContext = SslContextBuilder
        .forClient()
        .sslProvider(SslProvider.JDK)
        .trustManager(InsecureTrustManagerFactory.INSTANCE)
        .build();

DefaultAsyncHttpClientConfig.Builder builder = new DefaultAsyncHttpClientConfig.Builder();
builder.setSslContext(sslContext);
AsyncHttpClientConfig asyncHttpClientConfig = builder.build();
Run Code Online (Sandbox Code Playgroud)

这在信任所有证书的本地主机上很好用,但是我需要连接到本地ip才能在服务上进行一些测试,但我遇到了这个异常:

java.util.concurrent.CompletionException: java.net.ConnectException: General SSLEngine problem
    at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
    at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
    at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)
    at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
    at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
    at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
    at org.asynchttpclient.netty.NettyResponseFuture$1.run(NettyResponseFuture.java:269)
    at org.asynchttpclient.netty.NettyResponseFuture$2.execute(NettyResponseFuture.java:277)
    at org.asynchttpclient.future.ExecutionList.executeListener(ExecutionList.java:125)
    at org.asynchttpclient.future.ExecutionList.execute(ExecutionList.java:115)
    at org.asynchttpclient.future.AbstractListenableFuture.runListeners(AbstractListenableFuture.java:80)
    at org.asynchttpclient.netty.NettyResponseFuture.abort(NettyResponseFuture.java:252)
    at org.asynchttpclient.netty.channel.NettyConnectListener.onFailure(NettyConnectListener.java:162)
    at org.asynchttpclient.netty.channel.NettyConnectListener$1.onFailure(NettyConnectListener.java:131)
    at org.asynchttpclient.netty.SimpleFutureListener.operationComplete(SimpleFutureListener.java:26)
    at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:514)
    at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:507)
    at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:486)
    at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:427)
    at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:129)
    at io.netty.handler.ssl.SslHandler.notifyHandshakeFailure(SslHandler.java:1235)
    at io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1230)
    at io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1205)
    at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1060)
    at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:900)
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:411)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248)
    at …
Run Code Online (Sandbox Code Playgroud)

java ssl netty asynchttpclient

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

在使用Spock的Grails中测试beforeUpdate或beforeInsert

我是Grails的新手,我正在做一些测试,但是虽然在开发中调用了beforeUpdate和beforeInsert,但我的测试表明它们不是,我做错了什么?

我正在嘲笑Cicle和Measurement,所以我认为当调用方法save时,会触发beforeUpdate或beforeInsert,但是当我运行测试时,grails回答saing"调用太少:1*cicle.updateCicleValue()(0调用)"

所以我使用"何时"错误?或者save不会在mock对象中触发beforeUpdate和beforeInsert?

请帮忙 :)

Cicle.goovy

class Cicle {

String machine
double cicleValue

static hasMany = [measurements:Measurement]

def beforeInsert(){
    if (measurements != null) updateCicleValue()
}

def beforeUpdate(){
    if (measurements != null) updateCicleValue()
}

public void updateCicleValue(){

    double sumCicleValue = 0

    measurements.each{ measurement ->
        sumCicleValue += measurement.cicleValue
    }

    cicleValue = sumCicleValue / measurements.size()
}   
}
Run Code Online (Sandbox Code Playgroud)

CicleSepc.groovy

@TestFor(Cicle)
@Mock([Cicle, Measurement])
class CicleSpec extends Specification {

Measurement mea1    
Measurement mea2    
Cicle cicle


def setup() {
    mea1 = new Measurement(machine: "2-12", cicleValue: 34600)      
    mea2 …
Run Code Online (Sandbox Code Playgroud)

grails groovy beforeupdate spock

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