一个由于数据库并发引起的错误,开发环境里一切都正常、运行环境里不稳定、发生莫名奇妙的错误
2010-11-19 20:56
696 查看
前些日子在开发项目过程中发生了一个奇怪的问题:
程序运行在我们自己的开发环境里都正常,不会出现错误,而且不只是我一个人的电脑,
是接近10个项目组开发人员的电脑上都是正常的,而且运行多久都不会出错,大家有接近
10个人都在并发访问数据库,都没出现异常。
当后台管理程序同时运行,并发管理,也不会出现错误,比较奇怪的,发布到 WEB服务
器上,运行接近1天后程序就会发生错误,而且刚部署的时候,程序运行都正常,错误页面
如下:
有些蹊跷的是,我几乎不用DataReader,怎么会报这个错误呢?想了一两天都没
想明白是怎么回事。
过了一周我才想起来,很早以前,我改进设计模式、按我们以前的同事的要求,把
数据库联接进行了优化,做了单实例,唉,原来是按同事的要求作了单实例后,出
现了并发问题了,因为发布到服务器上,是几十个人同时使用,在自己的开发环境
里,单独用后台管理端是一个人用,单实例都不会出现错误。
惹事生非的单实例代码如下:
Code
1
//------------------------------------------------------------
2
// All Rights Reserved , Copyright (C) 2009 , Jirisoft , Ltd.
3
//------------------------------------------------------------
4
5
using System;
6
using System.Reflection;
7
using System.Configuration;
8
9
namespace DotNet.Common.DbUtilities
10
{
11
using DotNet.Common.Utilities;
12
13
/**//// <summary>
14
/// DbHelperFactory
15
/// 数据库服务工厂。
16
///
17
/// 修改纪录
18
///
19
/// 2009.07.23 版本:1.2 JiRiGaLa 每次都获取一个新的数据库连接,解决并发错误问题。
20
/// 2008.09.23 版本:1.1 JiRiGaLa 优化改进为单实例模式。
21
/// 2008.08.26 版本:1.0 JiRiGaLa 创建数据库服务工厂。
22
///
23
/// 版本:1.2
24
///
25
/// <author>
26
/// <name>JiRiGaLa</name>
27
/// <date>2009.07.23</date>
28
/// </author>
29
/// </summary>
30
public class DbHelperFactory
31
{
32
private static readonly string DbHelperAssmely = BaseConfiguration.Instance.DbHelperAssmely;
33
private static readonly string DbHelperClass = BaseConfiguration.Instance.DbHelperClass;
34
public static readonly string DbConnectionString = BaseConfiguration.Instance.DbConnectionString;
35
36
private static IDbHelper helper;
37
private static Object locker = new Object();
38
39
public static IDbHelper GetHelper()
40
{
41
if (helper == null)
42
{
43
lock (locker)
44
{
45
if (helper == null)
46
{
47
helper = (IDbHelper)Assembly.Load(DbHelperAssmely).CreateInstance(DbHelperClass, true);
48
}
49
}
50
}
51
return helper;
52
}
53
}
54
}
看看程序,想想并发、再看看错误信息,心里全部明白了,都是单实例惹得麻烦。
开发环境里有些错误是无法发现的,换个环境,换个角度测试,问题就暴露出来了。
程序不在于多,也不在于高超,只要运行稳定,维护方便,经得起考验才是好程序,
土一点儿笨一点儿并不是系统架构的关键问题,我们的客户大多都是非IT专业的,
他们图的是运行稳定高效的系统,他们并不关心技术的细节,懂技术的也不大愿意
花钱购买服务,自己折腾,自己开发了。
C:产品导读:
白话讲山寨SOA,少一些迷惑、多一些理解,你的程序架构SOA了吗?
疯狂.NET架构通用权限后台管理工具演示版2.0下载
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 角色权限
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 数据集权限
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。
posted on 2009-09-24 13:59 不仅仅是通用权限设计 阅读(2625) 评论(35) 编辑 收藏
#1楼 回复 引用 为什么不用数据连接池来解决?每次都产生一个新连接,在高并发的情况下是不是不太好,当然如果并发不高的话倒也无所谓了
2009-09-24 14:08 | 过路的[未注册用户]
2009-09-24 14:14 | 小渺
数据库联接池用的呀,是在数据库连接串里的呀。
2009-09-24 14:14 | 吉日嘎拉>不仅权限设计
2009-09-24 14:34 | 温景良(Jason)
2009-09-24 14:45 | zsea
言情小说在线阅读
----------推荐网站----------
<a href=http://www.cc222.com/yanqing/>言情小说吧</a>
2009-09-24 14:50 | wweee[未注册用户]
目前没发现什么问题 感觉良好
2009-09-24 15:06 | TAOTAO.
2009-09-24 15:09 | 阿水
数据连接单例化一直是误区
2009-09-24 15:19 | 韦恩卑鄙
2009-09-24 15:22 | Keep Walking
2009-09-24 15:38 | 姜敏
2009-09-24 15:39 | 淘者天下2
其实,我也不这么干的,有一次我们同事有工作需要,让我改成这样的,
后来我忘记修改回来了,前些日子才发现,这么一个搞,搞死我了。
2009-09-24 15:39 | 吉日嘎拉>不仅权限设计
也不能乱写,还得写有意义的文章才可以,否则垃圾都充数,不太好,而且要追求原创,不是拿别人的过来。
2009-09-24 15:41 | 吉日嘎拉>不仅权限设计
@姜敏
其实,我也不这么干的,有一次我们同事有工作需要,让我改成这样的,
后来我忘记修改回来了,前些日子才发现,这么一个搞,搞死我了。
什么样的工作需要?winform?
2009-09-24 16:01 | YJJ
@淘者天下2
也不能乱写,还得写有意义的文章才可以,否则垃圾都充数,不太好,而且要追求原创,不是拿别人的过来。
你的文章质量都蛮高的,我每篇都看,而且都能看懂,真的,博客园首页上我能看懂的技术文章不多。
2009-09-24 16:12 | 淘者天下2
不好意思 嘎拉老师,请问代码的问题在哪里 请教一下 我看不出来问题点
2009-09-24 16:40 | kimi.hua
不好意思 原则性错误,一直以为是单件的问题,所以无论怎么想也想不出来问题了。呵呵
明白了 嘎拉的问题点了 呵呵
2009-09-24 17:14 | kimi.hua
1、单例模式没有错,但是这里不能用单例。数据库连接对象不是线程安全的。
2、volatile没意义的,.NET不会做store reordering,Java会做。
2009-09-24 17:24 | Jeffrey Zhao
对于真正在生产环境中还是用日志比较好。
2009-09-24 17:35 | xiao_p
最后一个错误是这个单件模式导致的吗
2009-09-24 17:36 | 阿龍
汗,他的问题就是共享了不该共享的东西,而不是double check写的有问题。
在.net里,无论加不加volitile都不会store reordering的,这是ECMA中定义的Memory Model。
我写过一篇文章,里面有一些引用资料,你可以看一下:
http://www.cnblogs.com/JeffreyZhao/archive/2009/09/08/i-made-a-mistake-can-you-figure-it-out-answer.html
2009-09-24 18:33 | Jeffrey Zhao
2009-09-24 18:51 | hongzheng[未注册用户]
我说的使用volatile关键字是为了保证多线程环境中DbHelper都是最新的值,就楼主写的这个double check,我可以百分百的保证在多线程环境下大并发量时会存在报错的,这个问题已经在实际的项目中出现过了
而要说的是我不得不汗颜一下自己,最开始确实没搞清楚状况就开说了,非常之抱歉!在此有误导读者的我很抱歉故把留言删除了!
而楼主的问题原本是共享了单例的DbConnection造成的
非常汗颜下自己...
2009-09-24 22:30 | 卡索
SqlConnection cn = new SqlConnection("................");
cn.open ();
SqlDataReader rdr = cn.ExcueteReader ( " select ...........");
while ( rdr.reaer() )
{
// Do Something
}
cn.close();
通常来说,上面的代码没有什么问题,但是如果多线程增用cn这个实例的话,有可能出现:
SqlConnection cn = new SqlConnection("................");
cn.open ();
//Working At Thread 1
SqlDataReader rdr = cn.ExcueteReader ( " select ...........");
// Working At Thread 2
SqlDataReader rdr = cn.ExcueteReader ( " select ...........");
while ( rdr.reaer() )
{
// Do Something
}
cn.close();
然后就会报“相关联的DataReader,先关闭它”
2009-09-24 23:00 | killkill
高并发的时候强制串行,那能不出问题么。你10个人一起用那能算什么啊。
2009-09-25 01:51 | hoodlum1980
当初我设计持久层考虑到了,所以数据库链接全部用new去创建,但是整个框架用facet实现之后,外部调用还是singleton。
然后这个facet去new每个command。
还有一个重要原因,现在的虚拟主机每几十秒自动清理内存的,任何singleton部署在了虚拟主机,根本就没有效果。
2009-09-25 02:40 | 辰
volatile
2009-09-25 05:54 | Astar
2009-09-25 08:23 | 路过说两句[未注册用户]
2009-09-25 08:37 | lingjun123[未注册用户]
2009-09-25 09:26 | _龙猫
就算是单实例,一定要考虑同步问题。
其实你这里解决问题的方式有两种:1,使用Helper对象的人(CODE块)排队,每个人使用完了Helper对象后,其他人才可以使用;2,就是Helper对象不再单实例,各个人需要Helper的时候就new一个。
第一种方式效率很低,而且需要写更多的代码。第二种方式属于常规的服务器端代码写作方式。
就如那位Zhao说的,你是把不该共享的东西共享了。
单实例的共享的是资源,而不是资源的方法(属性)。
2009-09-25 10:17 | a.b.c[未注册用户]
2009-09-25 10:19 | a.b.c[未注册用户]
如果你想出名,就去踩老吉吧
>_<
2009-09-27 18:09 | thk_xing
程序运行在我们自己的开发环境里都正常,不会出现错误,而且不只是我一个人的电脑,
是接近10个项目组开发人员的电脑上都是正常的,而且运行多久都不会出错,大家有接近
10个人都在并发访问数据库,都没出现异常。
当后台管理程序同时运行,并发管理,也不会出现错误,比较奇怪的,发布到 WEB服务
器上,运行接近1天后程序就会发生错误,而且刚部署的时候,程序运行都正常,错误页面
如下:
有些蹊跷的是,我几乎不用DataReader,怎么会报这个错误呢?想了一两天都没
想明白是怎么回事。
过了一周我才想起来,很早以前,我改进设计模式、按我们以前的同事的要求,把
数据库联接进行了优化,做了单实例,唉,原来是按同事的要求作了单实例后,出
现了并发问题了,因为发布到服务器上,是几十个人同时使用,在自己的开发环境
里,单独用后台管理端是一个人用,单实例都不会出现错误。
惹事生非的单实例代码如下:
Code
1
//------------------------------------------------------------
2
// All Rights Reserved , Copyright (C) 2009 , Jirisoft , Ltd.
3
//------------------------------------------------------------
4
5
using System;
6
using System.Reflection;
7
using System.Configuration;
8
9
namespace DotNet.Common.DbUtilities
10
{
11
using DotNet.Common.Utilities;
12
13
/**//// <summary>
14
/// DbHelperFactory
15
/// 数据库服务工厂。
16
///
17
/// 修改纪录
18
///
19
/// 2009.07.23 版本:1.2 JiRiGaLa 每次都获取一个新的数据库连接,解决并发错误问题。
20
/// 2008.09.23 版本:1.1 JiRiGaLa 优化改进为单实例模式。
21
/// 2008.08.26 版本:1.0 JiRiGaLa 创建数据库服务工厂。
22
///
23
/// 版本:1.2
24
///
25
/// <author>
26
/// <name>JiRiGaLa</name>
27
/// <date>2009.07.23</date>
28
/// </author>
29
/// </summary>
30
public class DbHelperFactory
31
{
32
private static readonly string DbHelperAssmely = BaseConfiguration.Instance.DbHelperAssmely;
33
private static readonly string DbHelperClass = BaseConfiguration.Instance.DbHelperClass;
34
public static readonly string DbConnectionString = BaseConfiguration.Instance.DbConnectionString;
35
36
private static IDbHelper helper;
37
private static Object locker = new Object();
38
39
public static IDbHelper GetHelper()
40
{
41
if (helper == null)
42
{
43
lock (locker)
44
{
45
if (helper == null)
46
{
47
helper = (IDbHelper)Assembly.Load(DbHelperAssmely).CreateInstance(DbHelperClass, true);
48
}
49
}
50
}
51
return helper;
52
}
53
}
54
}
看看程序,想想并发、再看看错误信息,心里全部明白了,都是单实例惹得麻烦。
开发环境里有些错误是无法发现的,换个环境,换个角度测试,问题就暴露出来了。
程序不在于多,也不在于高超,只要运行稳定,维护方便,经得起考验才是好程序,
土一点儿笨一点儿并不是系统架构的关键问题,我们的客户大多都是非IT专业的,
他们图的是运行稳定高效的系统,他们并不关心技术的细节,懂技术的也不大愿意
花钱购买服务,自己折腾,自己开发了。
C:产品导读:
白话讲山寨SOA,少一些迷惑、多一些理解,你的程序架构SOA了吗?
疯狂.NET架构通用权限后台管理工具演示版2.0下载
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 角色权限
疯狂.NET 通用权限设计 C/S后台管理,B/S前台调用源码样例程序源码下载之 --- 数据集权限
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。
posted on 2009-09-24 13:59 不仅仅是通用权限设计 阅读(2625) 评论(35) 编辑 收藏
评论
1763892#1楼 回复 引用 为什么不用数据连接池来解决?每次都产生一个新连接,在高并发的情况下是不是不太好,当然如果并发不高的话倒也无所谓了
2009-09-24 14:08 | 过路的[未注册用户]
#2楼 回复 引用 查看
哎……2009-09-24 14:14 | 小渺
#3楼[楼主] 回复 引用 查看
@过路的数据库联接池用的呀,是在数据库连接串里的呀。
2009-09-24 14:14 | 吉日嘎拉>不仅权限设计
#4楼 回复 引用 查看
我也碰到这个问题,一直没有解决,谢谢了2009-09-24 14:34 | 温景良(Jason)
#5楼 回复 引用 查看
用WAS可以测试一下2009-09-24 14:45 | zsea
#6楼 回复 引用
哦 我就古来看看我不说话言情小说在线阅读
----------推荐网站----------
<a href=http://www.cc222.com/yanqing/>言情小说吧</a>
2009-09-24 14:50 | wweee[未注册用户]
#7楼 回复 引用 查看
我们数据库连接是用的队列目前没发现什么问题 感觉良好
2009-09-24 15:06 | TAOTAO.
#8楼 回复 引用 查看
为什么要用单例模式?不明白2009-09-24 15:09 | 阿水
#9楼 回复 引用 查看
很标准的常见错误啊数据连接单例化一直是误区
2009-09-24 15:19 | 韦恩卑鄙
#10楼 回复 引用 查看
没看明白?为啥访问数据要由C#来控制?2009-09-24 15:22 | Keep Walking
#11楼 回复 引用 查看
数据库连接用单例,不寻常的做法2009-09-24 15:38 | 姜敏
#12楼 回复 引用 查看
嘎拉兄,加把油,马上就要进博客园top 50啦!2009-09-24 15:39 | 淘者天下2
#13楼[楼主] 回复 引用 查看
@姜敏其实,我也不这么干的,有一次我们同事有工作需要,让我改成这样的,
后来我忘记修改回来了,前些日子才发现,这么一个搞,搞死我了。
2009-09-24 15:39 | 吉日嘎拉>不仅权限设计
#14楼[楼主] 回复 引用 查看
@淘者天下2也不能乱写,还得写有意义的文章才可以,否则垃圾都充数,不太好,而且要追求原创,不是拿别人的过来。
2009-09-24 15:41 | 吉日嘎拉>不仅权限设计
#15楼 回复 引用 查看
引用吉日嘎拉>不仅权限设计:@姜敏
其实,我也不这么干的,有一次我们同事有工作需要,让我改成这样的,
后来我忘记修改回来了,前些日子才发现,这么一个搞,搞死我了。
什么样的工作需要?winform?
2009-09-24 16:01 | YJJ
#16楼 回复 引用 查看
引用吉日嘎拉>不仅权限设计:@淘者天下2
也不能乱写,还得写有意义的文章才可以,否则垃圾都充数,不太好,而且要追求原创,不是拿别人的过来。
你的文章质量都蛮高的,我每篇都看,而且都能看懂,真的,博客园首页上我能看懂的技术文章不多。
2009-09-24 16:12 | 淘者天下2
#17楼 回复 引用 查看
@吉日嘎拉>不仅权限设计不好意思 嘎拉老师,请问代码的问题在哪里 请教一下 我看不出来问题点
2009-09-24 16:40 | kimi.hua
#18楼 回复 引用 查看
@吉日嘎拉>不仅权限设计不好意思 原则性错误,一直以为是单件的问题,所以无论怎么想也想不出来问题了。呵呵
明白了 嘎拉的问题点了 呵呵
2009-09-24 17:14 | kimi.hua
#19楼 回复 引用 查看
@卡索1、单例模式没有错,但是这里不能用单例。数据库连接对象不是线程安全的。
2、volatile没意义的,.NET不会做store reordering,Java会做。
2009-09-24 17:24 | Jeffrey Zhao
#20楼 回复 引用 查看
难道楼主部署的时候都不输出日志?对于真正在生产环境中还是用日志比较好。
2009-09-24 17:35 | xiao_p
#21楼 回复 引用 查看
这是单件模式吗? 不太明白。最后一个错误是这个单件模式导致的吗
2009-09-24 17:36 | 阿龍
#22楼 回复 引用 查看
@卡索汗,他的问题就是共享了不该共享的东西,而不是double check写的有问题。
在.net里,无论加不加volitile都不会store reordering的,这是ECMA中定义的Memory Model。
我写过一篇文章,里面有一些引用资料,你可以看一下:
http://www.cnblogs.com/JeffreyZhao/archive/2009/09/08/i-made-a-mistake-can-you-figure-it-out-answer.html
2009-09-24 18:33 | Jeffrey Zhao
#23楼 回复 引用
我也曾遇到过这种问题,我经过测试,最后的结论是,connection实例不应该共享,如果共享了,当并发量一大的时候,就会报“There is already an open DataReader associated with this Command which must be closed first.”这个错误,是你的第三个图。不把connection共享,每个方法里自己去new就不会有问题。2009-09-24 18:51 | hongzheng[未注册用户]
#24楼 回复 引用 查看
@Jeffrey Zhao我说的使用volatile关键字是为了保证多线程环境中DbHelper都是最新的值,就楼主写的这个double check,我可以百分百的保证在多线程环境下大并发量时会存在报错的,这个问题已经在实际的项目中出现过了
而要说的是我不得不汗颜一下自己,最开始确实没搞清楚状况就开说了,非常之抱歉!在此有误导读者的我很抱歉故把留言删除了!
而楼主的问题原本是共享了单例的DbConnection造成的
非常汗颜下自己...
2009-09-24 22:30 | 卡索
#25楼 回复 引用 查看
DataReader其实很多地方都有调用的,譬如DataAdapter的Fill方法里面就有DataReader的调用。SqlConnection cn = new SqlConnection("................");
cn.open ();
SqlDataReader rdr = cn.ExcueteReader ( " select ...........");
while ( rdr.reaer() )
{
// Do Something
}
cn.close();
通常来说,上面的代码没有什么问题,但是如果多线程增用cn这个实例的话,有可能出现:
SqlConnection cn = new SqlConnection("................");
cn.open ();
//Working At Thread 1
SqlDataReader rdr = cn.ExcueteReader ( " select ...........");
// Working At Thread 2
SqlDataReader rdr = cn.ExcueteReader ( " select ...........");
while ( rdr.reaer() )
{
// Do Something
}
cn.close();
然后就会报“相关联的DataReader,先关闭它”
2009-09-24 23:00 | killkill
#26楼 回复 引用 查看
都是你这个lock惹得祸,lock (locker)高并发的时候强制串行,那能不出问题么。你10个人一起用那能算什么啊。
2009-09-25 01:51 | hoodlum1980
#27楼 回复 引用 查看
asp.net本来就是多线程的。当初我设计持久层考虑到了,所以数据库链接全部用new去创建,但是整个框架用facet实现之后,外部调用还是singleton。
然后这个facet去new每个command。
还有一个重要原因,现在的虚拟主机每几十秒自动清理内存的,任何singleton部署在了虚拟主机,根本就没有效果。
2009-09-25 02:40 | 辰
#28楼 回复 引用 查看
@卡索volatile
2009-09-25 05:54 | Astar
#29楼 回复 引用
B/S结构用数据连接单例化,无语了,而楼主居然根据需要修改了,实在怀疑楼主对B/S结构的认识能力,更无语了。2009-09-25 08:23 | 路过说两句[未注册用户]
#30楼 回复 引用
也遇到过。2009-09-25 08:37 | lingjun123[未注册用户]
#31楼 回复 引用 查看
太嘎啦2009-09-25 09:26 | _龙猫
#32楼 回复 引用
服务器端编程要考虑到默认就是多线程的。就算是单实例,一定要考虑同步问题。
其实你这里解决问题的方式有两种:1,使用Helper对象的人(CODE块)排队,每个人使用完了Helper对象后,其他人才可以使用;2,就是Helper对象不再单实例,各个人需要Helper的时候就new一个。
第一种方式效率很低,而且需要写更多的代码。第二种方式属于常规的服务器端代码写作方式。
就如那位Zhao说的,你是把不该共享的东西共享了。
单实例的共享的是资源,而不是资源的方法(属性)。
2009-09-25 10:17 | a.b.c[未注册用户]
#33楼 回复 引用
呵呵,看了一下你的“美丽达人”,恕我愚笨,不清楚要干啥?2009-09-25 10:19 | a.b.c[未注册用户]
#34楼 回复 引用 查看
如果你想赚钱,就去卖身吧如果你想出名,就去踩老吉吧
>_<
2009-09-27 18:09 | thk_xing
#35楼 回复 引用 查看
"把数据库联接进行了优化"--"联接"--"连接"相关文章推荐
- 一个由于数据库并发引起的错误,开发环境里一切都正常、运行环境里不稳定、发生莫名奇妙的错误
- 一个由于数据库并发引起的错误,开发环境里一切都正常、运行环境里不稳定、发生莫名奇妙的错误
- 一个由于数据库并发引起的错误,开发环境里一切都正常、运行环境里不稳定、发生莫名奇妙的错误
- 一个由于数据库并发引起的错误,开发环境里一切都正常、运行环境里不稳定、发生莫名奇妙的错误
- Linux环境下段错误的产生原因及调试方法小结 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是
- 当一个数据库插入事务由于错误被回滚时,被插入表中标识字段的值该发生怎么样的变化?
- 数据库表表面上存在索引和防错机制,然而一个简单的查询就会耗费很长时间。Web应用程序或许在开发环境中运行良好,但在产品环境中表现同样糟糕。如果你是个数据库管理员,你很有可能已经在某个阶段遇到上述情况。
- 完美解决VS2003.Net fatal error LNK1201: 写入程序数据库“.pdb”时出错我的开发环境是Win7旗舰64位+VS2003.Net,经常卡pdb错误,文末给出一个完美的解决
- 搭建 AngularJS+Ionic+Cordova开发APP----- win10环境运行一个Ionic_demo
- 一个使用vs2010进行winforms开发的小提示:打开窗体设计器发生错误的解决方法
- ==Tomcat的坑==【一切正常,就是连不上数据库,提示密码错误】。解决:先关闭Tomcat,再重启eclipse。老师说是Tomcat卡住了。
- vs.net2008在开发环境下调试没有问题,发布后运行却提示"无法更新数据库,因为数据库是只读的"
- Qt creator工程项目移植时因环境变换造成qmake错误的解决方案 1.问题描述:移植从他机上的qt工程项目,打开时提示: Qt Creator找到了一个由其他开发环境创建的设置文件,或许
- 【iOS-cocos2d-X 游戏开发之三】Mac下配置Android NDK环境并搭建Cocos2d-x环境并Eclipse正常编译运行Cocos2dX自带TestsDemo项目!
- Loadrunner 出现第一个迭代运行正常,第二个迭代出现错误,参数找不到等等,可能是勾选了“在每个迭代模拟一个新用户”
- 修复发生“由于数据移动,未能继续以 NOLOCK 方式扫描”错误的数据库
- 实验:基本的系统安全控制 实验环境 某公司新增了一台企业级服务器,已安装运行RHEL 6操作系统,由系统运维部、软件开发部、技术服务部共同使用。由于用户数量众多,且使用时间不固定,要求针对账号和
- 一般情况下asp可以正常运行,但只要连接数据库就提示,Microsoft JET Database Engine 错误
- 前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误。 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected est
- Ant 运行远程bash文件时,发生环境变量错误的问题