问题描述
- wcf 报内部错误,无法处理该请求。怀疑是sql的问题
-
用.net 4.0 + mysql写WCF的事务处理例子。
不加sql相关的东西都没问题。
加上就报内部错误,而且没有详细错误,也不知道为什么,我在配置文件开了debug,并且都加try了,还是没有详细信息。测试了好几次,就怀疑是SQL的这部分有问题,但是我还看不出哪里的问题。请教。
[OperationBehavior(TransactionScopeRequired=true)] public void intoMoney() { System.Threading.Thread.Sleep(1000); string strConn = @"server=127.0.0.1;uid=root;pwd=1512;database=wcftest"; string sql = @"update account set balance=200 where id = 'B'"; MySqlConnection conn = new MySqlConnection(strConn); MySqlCommand cmd = new MySqlCommand(sql, conn); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); }
解决方案
string strConn = @"server=127.0.0.1;uid=root;pwd=1512;database=wcftest";
这行代码的问题,检查你的mysql是否启动,最好用127.0.0.1:3306,带上端口号,另外检查防火墙,你的密码是不是1512,你的数据库是不是wcftest
"update account set balance=200 where id = 'B'";
这里检查 account表是否存在,最好用
`account`
确保表名不和关键字冲突。以及你的id列是不是字符串型,你的balance是不是整数
解决方案二:
当然最好还是加上 try catch,拦截下异常,并且输出下,先在控制台程序测试好了,再放在wcf
解决方案三:
wcf 支持断点,打个断点试试,操作数据库的代码有问题。
时间: 2024-12-24 04:24:21