在MySQL存储过程中,我使用以下命令处理SQL异常:
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
SELECT "SQL exception occured." AS "SQL Exception";
SHOW ERRORS;
SHOW WARNINGS;
ROLLBACK;
END;
我知道会抛出一个异常,因为正在显示SQL exception occured消息并且事务被回滚。但是,SHOW ERRORS或SHOW WARNINGS
如何在MySQL的存储过程中产生异常?例如:
CREATE PROCEDURE SALES()
BEGIN
STATEMENT...
STATEMENT...
STATEMENT...
IF (PRICE >= 500) THEN
/** THROWS AN EXCEPTION....
WHAT DO TO STOP THE PROCEDURE. **/
END IF;
STATEMENT...
STATEMENT...
STATEMENT...
END;
在MySQL中,我认为没有办法在存储过程中抛出异常,但我可以通过从不存在的表中进行选择来强制执行错误。例如:
I
我的应用程序因此异常而崩溃:
Exception Info: System.NotSupportedException
at System.Net.Security._SslStream.ProcessRead(Byte[], Int32, Int32, System.Net.AsyncProtocolRequest)
at System.Net.Security.SslStream.Read(Byte[], Int32, Int32)
at MySql.Data.MySqlClient.TimedStream.Read(Byte[], Int32, Int32)
at
我正在使用Kohana 2。我想捕获一个数据库异常,以防止在无法建立到服务器的连接时出现错误页面。
显示的错误是
system/libraries/drivers/Database/Mysql.php [61]:
mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at
'reading initial communication packet', system error: 110
此时根本无法访问数据库服务器。
我是从一个模型开始做这个的。我都试过了
public functi
我想捕获脚本中抛出的所有异常,然后检查它们是否有错误代码23000。
如果他们不这样做,我想重新抛出异常。
下面是我的代码:
function myException($exception) {
/*** If it is a Doctrine Connection Mysql Duplication Exception ***/
if(get_class($exception) === 'Doctrine_Connection_Mysql_Exception' && $exception->getCode() === 23000) {
嗨,
我是mysql.Actually开发人员的新手,现在正在将某些过程从oracle转换为mysql.In,这些更改我对Mysql有疑问。
在甲骨文中:-
Create procudure test_proc(p_id in varchar2,
p_error_code out number,
p_error_msg out varchar2) is
begin
insert into test_1(a) values(p_id);
commit;
p_error_code:=0;
exception when others then
p_error_code:=1;
p_error_msg
我在这个问题上找不到多少,但我也不知道该如何搜索,所以如果这是重复的,我很抱歉。
目前,我有大量的代码,偶尔会有mySQL查询。有时,mySQL连接(在程序启动时实例化并使希望使用它的方法可以访问,这样就不会经常建立新的连接)会因为某种原因而失败。例如,以下是可能引发的异常:mysql.connector.errors.OperationalError: MySQL Connection not available.
当引发异常时,我希望程序尝试重新建立到数据库的连接,如果失败,则发送警报(通过OpsGenie、电子邮件等)。这是非常琐碎的,而不是我正在挣扎的部分。
现在,我已经考虑了如何在整
<from uri="sql:select * from params?dataSource=moodleDB"/>
例外:
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN N
当试图查询已超时的连接上的数据库时,我开始收到此错误。
Fatal error: Uncaught exception 'ErrorException' with message 'mysql_query(): MySQL server has gone away'
所以我做了大量的研究,论坛上99%的用户说你可以使用mysql_ping命令来检查连接,所以我把它设置好了:
if(!mysql_ping($this->sDBLink))
Connect(true);
现在,我得到了同样的错误,只是引用了mysql_ping函数而不是mysql_qu
我正在创建一个API,其中我需要连接到不同的数据库使用他们的凭证在飞行。我需要使功能类似于MySql工作台-测试连接。目前,我需要处理MySql和MSSql服务器。我必须检查所有的排列和组合是否有错误的凭据。也就是说,如果我传递正确的凭证,例如,正确的主机、用户名、密码、端口,但是错误的连接器,而不是MySql,我传递Mssql。这就是抛出一个异常。
var db = {
host : data.hostName,
port : data.port,
database : data.database,
username
我正在使用mysql和Java。在mysql中使用TIMEDIFF执行查询以得到两次之间的差异时,其结果为'40:23:12'。但是,当我在java中使用该查询时,异常错误如下所示:
非法小时值“40”
SELECT TIMEDIFF(NOW(),last_act_time) FROM user_activity_log WHERE id=1;
有什么解决办法吗?