问题标签 [command-timeout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
189 浏览

c# - SQL Server 日志文件在很长的插入查询期间不可用

从 Visual Studio 15 开始,我正在对 SQL Server 运行插入查询。这是一个控制台应用程序。该应用程序从多个文件中读取并在单次运行中输入近 200 000 条记录,在此期间为任何新的文件文件夹关闭和打开连接,因此每个文件夹提供多于(或少于)50 000 个条目。我已经设置myconn.CommandTimeout=0所以它会继续运行并且 SQL 属性自动关闭设置为关闭,应用程序和 sql 服务器都在同一台机器上,它说

数据库“我的数据库名称”日志不可用

然后查询停止,请告诉我如何在不中断的情况下输入这么多记录。如果我错过了一些信息,请告诉我。

原始错误输出:

未处理的异常:System.Data.SqlClient.SqlException:数据库“paklaw”的日志不可用。检查事件日志以获取相关的错误消息。解决所有错误并重新启动数据库。当前命令发生严重错误。结果,如果有的话,应该丢弃。在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 breakConnection,操作1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject state&Obj, Boolean dataReady) 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task , Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest) 在 System.Data.SqlClient.SqlCommand。RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String 方法, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 完成,String methodName,Boolean sendToPipe,Int32 timeout,Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at filereadproj.Program.sqlfunc(SqlConnection conn, Int32 bi, String br, Int32 sI, String sV, Int32 C:\Users\Saif-ul-Islam\Documents\Visual Studio 2015\Projects\filereadproj\filereadproj\Program.cs:line 730 中的 s2I、String s2V、Int32 tsI、String tsV、String fn、String of、Boolean ke)在 C:\Users\Saif-ul-Islam\Documents\Visual Studio 2015\Projects\filereadproj\filereadproj\Program.cs: 139 中的 filereadproj.Program.Main(String[] args)

0 投票
2 回答
2049 浏览

.net - Oracle .net Provider CommandTimeout 不起作用

我正在尝试更改 OracleCommand 查询的命令超时,但它不起作用,因此不会触发超时异常。

  • 使用 Oracle.ManagedDataAccess.dll (4.121.2.0)

    /li>

配置:

此查询运行超过 10 秒,但未引发异常。

0 投票
1 回答
1559 浏览

mysql - 在 mysql db 配置中将命令超时更新为 0

如何更新mysql数据库中的命令超时。我知道如何在应用程序级别执行此操作,但我想在db end更改命令超时。所以我只能在一个地方改变它。在应用程序端,我正在使用

它工作正常。但是谁能告诉我如何在 db 端做同样的事情?

0 投票
1 回答
33 浏览

command-timeout - C# CommandTimeout 使用语句问题

我有一个对我很有帮助的方法,但是现在查询已经改变,我需要添加一个 CommandTimeout以考虑到执行此操作的某些客户端机器功率不足的事实。我遇到的问题是使用行添加 CommandTimeout 不起作用。

程序本身每晚从 SFTP 服务器拉下查询,然后针对客户端数据库执行查询,将结果写入文件,然后将结果发送回 SFTP 服务器。

我无法提高客户端机器上查询(只读访问)的效率,所以我坚持使用这种方法。

0 投票
2 回答
1409 浏览

sql-server - 以编程方式更改 SSIS OleDB 源的 CommandTimeout?

在一个相当大的项目中,我们最近收到了在正常工作时间执行某些 SSIS 包的请求。然而,虽然包可以在夜间根据需要执行,但在工作时间,一旦源查询超过给定时间就停止执行是最重要的。

我知道,可以设置 OleDB 源的一个属性,但是有没有办法以编程方式/通过表达式设置它?应该有一种方法来参数化这个超时,不是吗?

谢谢你的帮助。

0 投票
1 回答
350 浏览

c# - 如何为实体对象上下文设置命令超时

我有一个存储库文件,我们在其中创建了实体类型而不是ObjectContext类类型的对象上下文

我需要设置命令超时属性。有人能帮我吗

0 投票
1 回答
2511 浏览

vb.net - VB中的命令超时属性

如何在 VB 中将默认的命令超时属性(30 秒)覆盖为 600 秒?

我知道我们需要在 SQLhelper.vb 中更改命令超时我有一个代码,我可以在其中看到 Private 类中提到的 sqlcommand。

我需要提到以下命令,它应该在 sqlcommand 私有类中还是应该在 SQLconnection sting 公共类中。

0 投票
0 回答
45 浏览

sql-server - SqlCommand.ComandTimeout 没有效果

我在用于执行存储过程的 SqlCommand 的 CommandTimeout 属性中遇到问题。

代码相当简单。该代码用于不指定 CommandTimeout,因此将使用默认值 30 秒。看起来这个过程可能(并不总是)花费超过 30 秒,所以我们将它显着提高到 600 秒,假设没有办法不够长。

奇怪的是,今天早上我们收到了另一封自动发送的失败电子邮件,上面写着

“超时已过。在操作完成之前超时时间已过或服务器没有响应。”

我检查了我们的日志,看看“程序开始”和“程序失败”日志之间经过了多长时间,基本上是 30 秒。下图显示命令执行开始后大约 30 秒,它失败了。

超时图像

这里发生了什么?我确实尝试通读了大多数类似的 SO 问题和 MSDN 论坛,但到目前为止无济于事。

0 投票
0 回答
121 浏览

c# - 从 Oracle 数据库中选择查询没有超时 - 通过 ADODB 互操作连接

我正在使用 ADODB interop DLL Version :6.0.0.0 连接任何类型的数据库。

CommandTimeout 为 3 秒 使用超时为 3 秒的命令对象打开记录集。

使用具有大量数据的 Oracle 数据库,当我输入选择查询时,它不会超时。

如何使执行查询超时?

我也尝试将命令超时设置为 1 秒,但仍然没有超时。

将连接超时设置为 3 秒(我知道这与命令超时不同,但仍然尝试过)

**在 MSSQl 数据库中,如果我在存储过程中插入 10 条缺少记录并在此之后进行选择查询,它实际上在执行过程时会超时,但如果我在过程中也只有选择查询,它不会超时。

当查询执行超过 3 秒时,我预计会出现超时错误。

0 投票
1 回答
298 浏览

asp.net - 通过 aspnet_regsql.exe 创建 ASP.NET 会话表的各种困难

我们正在尝试将我们的 Azure Web 应用程序之一的 ASP.NET 会话状态移动到数据库中,看起来 aspnet_regsql.exe 工具是要走的路。不幸的是,我陷入了以下几个问题。这是一个 Azure SQL 数据库,我正在使用服务器的管理员帐户进行连接。

  • 我最初想将会话表添加到我们现有的数据库中,所以我运行了.\aspnet_regsql.exe -U adminusername -P adminpassword -S servername.database.windows.net -d databasename -ssadd -sstype c. 抛出异常“数据库'databasename'已经存在。选择不同的数据库名称”
  • 省略数据库名称并再次运行它会在大约 30 秒后引发异常:“Execution Timeout Expired”,这只是 SqlCommand.CommandTimeout 的默认值。这发生在执行“CREATE DATABASE”命令时。我尝试手动创建数据库,但由于某种原因大约需要 50 秒。此数据库为 S0 层,未承受任何负载
  • 在已经创建的数据库上再次运行 aspnet_regsql(因为它是幂等的,对吗?)会导致“数据库已存在”错误,就像预先创建一个空数据库以供其启动一样。
  • 没有可以让我增加超时的标志,并且我无法使用 -C(连接字符串)标志设置命令超时
  • 添加 -sqlexportonly 标志以生成脚本并直接运行它也不起作用(是的,我知道我不应该直接运行 InstallSqlState.sql)。它会抛出一大堆错误消息,例如:
    • Reference to database and/or server name in 'msdb.dbo.sp_add_job' is not supported in this version of SQL Server.
    • USE statement is not supported to switch between databases.
    • 这让我觉得这个脚本可能与 Azure SQL 数据库有一些问题......

有没有人有任何想法?

更新:

看起来所有涉及“msdb”的错误都与删除和重新添加名为“Job_DeleteExpiredSessions”的数据库作业有关。Azure SQL 不支持数据库作业,所以我能看到的唯一选项是

  1. 而是在 VM 上运行 SQL(成本要高得多,而且我宁愿坚持使用平台服务而不是管理 VM)
  2. 实施其中一种“弹性工作代理”
  3. 也许将相同的功能移到其他地方(例如存储过程)?