我有一个带签名的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导致SqlTimeoutException在SqlCommand3分钟后(指定的超时间隔).
更改存储过程以使其不再具有输出参数,并且所需的输出值作为最后的结果集返回,解决了问题,并且整个过程在预期的5秒内运行.
但为什么?
我不想通过我的代码库来修改这种行为的所有实例,而不理解我是否真的解决了这个问题.
另一件需要注意的是,这只在一个特定的服务器上显而易见,它确实拥有比我们运行的其他类似数据库更大的数据集.肯定不是Sql Server设置?
UPDATE
进入框架源,问题似乎出现在元数据检索中.对象的ConsumeMetaData方法SqlDataReader无限期挂起.但是我在其他数据库上运行测试并且无法重现,因此当通过ADO.NET调用此过程时,这是一个特定于数据库的问题...很棒.
更新II
已确认如果我将代码更改为使用OleDbDataAdapterSQLOLEDB或SQLNCLI提供程序类型,则问题仍然存在.绝对与连接有关.
我想在用户按特定键时中断程序.我尝试下面的代码,但它只能使用回车键.
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) 我在 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) 我在静态文件夹中有一个 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)