小编Yit*_*ade的帖子

ADO.NET调用T-SQL存储过程会导致SqlTimeoutException

我有一个带签名的T-SQL存储过程

CREATE PROCEDURE MyProc
@recordCount INT OUTPUT
@param1 INT
...
Run Code Online (Sandbox Code Playgroud)

在Sql Server中直接执行时,该过程在5秒内运行,返回一些总计约100行的结果集.

调用使用ADO.NET此过程SqlDataAdapter.Fill方法来填充Dataset导致SqlTimeoutExceptionSqlCommand3分钟后(指定的超时间隔).

更改存储过程以使其不再具有输出参数,并且所需的输出值作为最后的结果集返回,解决了问题,并且整个过程在预期的5秒内运行.

但为什么?

我不想通过我的代码库来修改这种行为的所有实例,而不理解我是否真的解决了这个问题.

另一件需要注意的是,这只在一个特定的服务器上显而易见,它确实拥有比我们运行的其他类似数据库更大的数据集.肯定不是Sql Server设置?

UPDATE

进入框架源,问题似乎出现在元数据检索中.对象的ConsumeMetaData方法SqlDataReader无限期挂起.但是我在其他数据库上运行测试并且无法重现,因此当通过ADO.NET调用此过程时,这是一个特定于数据库的问题...很棒.

更新II

已确认如果我将代码更改为使用OleDbDataAdapterSQLOLEDB或SQLNCLI提供程序类型,则问题仍然存在.绝对与连接有关.

t-sql sql-server ado.net timeout output-parameter

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

Java:从控制台读取密钥而不按回车键

我想在用户按特定键时中断程序.我尝试下面的代码,但它只能使用回车键.

java.io.InputStreamReader reader = new java.io.InputStreamReader(System.in); 
boolean b = false;
while(!b) 
{ 
    try{
        if ( reader.ready()) 
        { 
            // read a character and process it 
            System.out.println("key pressed");
            b = true;
        } 
    }
    catch (java.io.IOException ioex)
    {
        System.out.println("IO Exception");
    }

    // edit, lets not hog any cpu time 
    try 
    { 
        Thread.sleep(50); 
        System.out.println("nop yet");
    } 
    catch (InterruptedException ex) 
    { 
        // can't do much about it can we? Ignoring  
        System.out.println("Interrupted Exception");
    } 
}
Run Code Online (Sandbox Code Playgroud)

相当于C#(工作):

    ConsoleKeyInfo k1 = new ConsoleKeyInfo('T', ConsoleKey.T, false, false, false);
    ConsoleKeyInfo …
Run Code Online (Sandbox Code Playgroud)

java console input readkey

6
推荐指数
0
解决办法
2万
查看次数

有没有办法使用 HTML 溢出降价表?

我在 GitHub 页面中有一个使用 jekyll 构建的博客。我的一个帖子(用 Markdown 写的)有一个表格,它在智能手机中溢出,生成整个页面的水平滚动条。

我想知道是否有某种方法可以像下面这样编写 HTML + Markdown,只溢出 div,而不是整个页面。

<div style="overflow-x: scroll;">

    |                        |ODBC | SSMS | SQLCMD | ISQL|
    |---                     |:---:|:---: |:---:   |:---:|
    |ANSI_NULL_DFLT_ON       | ON  | ON   | ON     | OFF |
    |ANSI_NULLS              | ON  | ON   | ON     | OFF |

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

markdown jekyll

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

如何在 Nuxt 静态文件响应上添加标头?

我在静态文件夹中有一个 json 文件,我正在尝试从另一个网站访问它,但是我遇到了 CORS 问题。

如何在静态文件响应中添加标头(如 Access-Control-Allow-Origin)?

我试过这个https://github.com/nuxt/nuxt.js/issues/2554#issuecomment-363795301,但不适用于静态文件。

module.exports = function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Headers', '*');
    res.setHeader('Access-Control-Allow-Methods', '*');
    next()
}
Run Code Online (Sandbox Code Playgroud)

javascript frontend cors vue.js nuxt.js

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