问题标签 [sqlexception]

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 投票
5 回答
2348 浏览

sql-server - 排除超时 SqlExceptions

我有一些奇怪的行为,我无法弄清楚为什么会发生。我看到间歇性超时异常。我很确定它与体积有关,因为它在我们的开发环境中不可重现。作为一个创可贴的解决方案,我尝试将 sql 命令超时时间提高到 60 秒,但正如我发现的那样,这似乎没有帮助。这是奇怪的部分,当我检查失败的进程的日志时,这里是开始和结束时间:

  • 2008 年 9 月 16 日 16:21:49
  • 2008 年 9 月 16 日 16:22:19

那么当我将命令超时设置为六十时,它怎么会在三十秒内超时?

仅供参考,这是抛出的异常:

0 投票
3 回答
324 浏览

c# - 添加到 SqlException.Data 集合的对象是否需要 [Serializable]?

添加到 SqlException.Data 集合的对象是否需要 [Serializable]?

0 投票
5 回答
586 浏览

c# - 更细粒度的 SQL 异常?

在 C# 中,有没有办法通过 SQL 异常获得更精细的粒度?

我知道很多事情可能会出错,但我想以不同的方式处理某些情况,并且解析错误消息似乎不是很优雅。

还有错误消息是由框架创建的还是特定于数据库的?

例如,如果我在 INSERT 上有主键违规,则错误消息将始终为:

违反主键约束“PK_tblProduct”。无法在对象“dbo.tblProduct”中插入重复键。

或者是特定于 SQLServer 的。

更新

我看起来像是在寻找错误号,知道在哪里可以获得各种错误号吗?

我能用快速谷歌做的最好的事情是:18456:登录失败 18488:密码过期

0 投票
5 回答
51791 浏览

sql - 不明确的列名错误

在 Microsoft SQL Server 2000 上执行以下(完整)SQL 查询时:

我得到以下异常:

我在这里做错了什么,我该如何纠正?

0 投票
3 回答
3978 浏览

c# - C# - 什么是超时和失败连接的良好 SQLException 错误处理

我将 EntitySpaces 用于所有与数据库相关的编码。作为一个单独的开发人员,我没有时间坐下来为我编写的每个应用程序编写 SQL,因此使用 ES 之类的生成器可以让我脚踏实地,为我节省几天甚至几周的时间。

我通常为我的应用程序使用的每个表编写一系列帮助程序类。我遇到的问题是,我真的不知道处理任何 SQL 超时或失败连接的最佳方法,除了在每个处理返回数据的方法周围粘贴一个 Try-catch。

在 EntitySpaces 中,只有在我运行任何类型的 CRUD 命令时才会构建和执行 SQL 连接。

例如:

当我的助手类被告知将某个公司的用户列表分配给 ComboBox 时,将调用此方法。然后该方法调用它,我将数据分配给列表。我有大约 30 个这样的点,在特定于表的帮助器类中都称为 GetCollection()。

除了将方法编写为:

我还可以做些什么?

0 投票
3 回答
2654 浏览

java - 为什么 Sybase JDBC 驱动程序“吃掉”异常?

我正在使用官方 Sybase JDBC 驱动程序连接到数据库并通过创建 CallableStatement、将参数绑定到它并在其上调用 .execute() 来调用存储过程。

但是,我发现即使存储过程失败,也没有抛出异常。我可以通过使用 Wireshark 嗅探到数据库的流量并观察返回的错误消息来验证故障是否传播回给我。

最后我发现使用 .executeUpdate() 而不是 .execute()确实给了我例外,但是我还有两个问题:

  1. 为什么 .execute() 和 .executeUpdate() 表现不同?从界面的 SUN 文档看来,他们应该(几乎)做同样的事情......
  2. 调用存储过程时将 .execute() 替换为 .executeUpdate() 是否总是合适的?存储过程必须符合某些特定要求才能使用 .executeUpdate() 调用吗?(例如,它必须有一个更新/删除/插入语句作为最后一步吗?)

更新:我尝试过 jTDS,它的行为正确(如:它在两种情况下都抛出 SQLException - 使用 .execute() 和使用 .executeUpdate())。但是,由于我无法控制的限制,切换驱动程序是不可能的。

另外:我对这个存储过程返回的结果不感兴趣,它是一个插入/更新类型的过程。我只会被插入以查看(并且能够捕获/记录)它是否失败。我尝试过的另一件事是在 .execute() 之后从连接中获取警告,但它也不包含任何内容。

0 投票
3 回答
14891 浏览

c# - 是什么导致 LINQ to SQL 中的 Timeout expired SqlExceptions?

我的应用程序一直运行到 Timeout Expired SqlExceptions。问题是这个查询只需要运行相当长的时间。我很难弄清楚这个异常发生在哪里。这是在数据库服务器上创建的超时还是在我的程序中发生的?或者如果两者都可以,我如何确定它是哪一个?

最后,如何延长超时时间?

0 投票
1 回答
965 浏览

unit-testing - linq to sql insert 查询在单元测试项目中不起作用

我在 Linq to Sql 中有一个奇怪的行为......

我有一个简单的父母 | 子(一对多)对象模型。在我的应用程序中,我创建父对象并将子对象全部填充到内存中,然后调用我的存储库的 add 方法来插入父对象及其子对象。

现在从我的应用程序(winform)中,一切都按预期正常工作,但是我在单元测试项目中设置了一个小方法,只是为了练习存储库的 add 方法(我知道不是单元测试,因为我正在访问数据库) ,并且从测试方法中,它返回一个“与 FOREIGN KEY 约束冲突的 INSERT 语句”异常。

我已经跟踪调用和它们接收正确构造的父对象(即,父对象有一个子对象列表,每个子对象都有对父 ID 和父对象的引用)。

我的插入方法如下所示:

并且来自 linq 的输出日志看起来都一样,除了第二个孩子(在测试方法的情况下)它不能将 parentId 与孩子相关联

WORKS 的输出日志是

并且不起作用的是:

有任何想法吗?

PS。对不起,很长的帖子

0 投票
4 回答
7165 浏览

java - SQLException: JZ0S4: 无法执行空(零长度)查询。关于准备好的声明

这是一个在连接上执行 PreparedStatements 的类。

我打电话

从另一个类,这抛出和异常

例外是 SQLException:JZ0S4:无法执行空(零长度)查询。在准备好的声明上。我不明白为什么。有谁看到我在这里做错了什么?

谢谢!

0 投票
2 回答
5129 浏览

java - SQLiteJDBC 和 PreparedStatement 使用 pragma table_info

我正在利用 Java 和SQLiteJDBC来处理 SQLite。我需要访问给定表的列名,我发现我可以使用以下命令完成此操作:

但是,当尝试执行以下操作时出现错误。

java.sql.SQLException:NYI

我不知道 NYI 是什么意思,此外,我不确定我是否可以做我想做的事情。关于如何完成获取列名的任何建议?