ADO中使用事务处理功能

定义和用法

这三个方法与 Connection 对象使用,来保存或取消对数据源所做的更改。

注释:并非所有提供者都支持事务。

注释:BeginTrans、CommitTrans 和 RollbackTrans 方法在客户端 Connection 对象上无效。

BeginTrans

BeginTrans 方法可开始一个新事务。

CommitTrans

CommitTrans 方法可保存自最后一个 BeginTrans 方法调用以来的所有更改,并结束当前事务。它也可能启动新事务。

RollbackTrans

RollbackTrans 方法可取消自最后一次 BeginTrans 方法调用以来的所有更改,并结束该事务。它也可能启动新事务。

说明

对于支持嵌套事务的提供者,在打开的事务中调用 BeginTrans 方法将启动新的嵌套事务。返回值将指示嵌套层次:返回值为“1”指示打开了顶层事务(即此事务未嵌套在其他事务中),返回值为“2”指示打开了第二层事务(嵌套在顶层事务中的事务),依此类推。调用 CommitTrans 或 RollbackTrans 只影响最新打开的事务;在处理任何更高层事务之前必须关闭或回卷当前事务。

语法
level=objconn.BeginTrans()

objconn.BeginTrans

objconn.CommitTrans

objconn.RollbackTrans

微软2019年1月2日Excel2010更新补丁(4461627)导致Excel打开失败

前天接到客户电话,说是Excel文件无法打开,后来经过仔细检查发现其他Office组件都可以正常打开,唯独Excel无法打开,双击文件打开后就提示文件需要修复,然后无法修复并自动关闭,Office版本为2010专业版。当时因时间急,没有其他办法,所以只能卸载后安装WPS2019来使用,当时以为只是个案,但昨天又接到另一个客户电话,说的同样的问题,去检查后又是同样的结果,但已经意识到可能是其他问题导致的,但当时也没有时间来检查。今天又接到客户电话说了同样的问题,觉得可能是Excel的更新导致的,仔细检查了系统更新补丁,针对Excel2010 的补丁在2019年1月2日只有一个,补丁编号:4461627,卸载后Excel可以正常打开,以此记录,送给需要的朋友。

[转]Debian 安装pptp vpn客户端

debian默认是不支持pptp vpn的,那如果在该系统下连接pptp vpn?不说废话,直接进入主题吧,打开终端:

sudo apt-get install pptp-linux
sudo apt-get install network-manager-pptp-gnome

完成之后,重启系统,进入网络设置,可以进行pptp的配置了,与普通的宽带连接一样,可以用图形界面操作。

原文:https://www.yangshengliang.com/kaiyuan-shijie/linux-shijie/797.html

[转]AutoCAD 2006、AutoCAD 2012 启动时一直停止在打开模板的解决方法

启动AutoCAD 2012 当界面停止在这里,并且检查系统进程中有一个WSCommCntr3.exe占了大概50%CPU的使用率。

AutoCAD 2012 启动时一直停止在打开模板的解决方法.

启动ACM的时候出现下面界面,鼠标没有相应,WSCommCntr​3.exe 也占了大概50%的CPU使用率。

AutoCAD 2012 启动时一直停止在打开模板的解决方法.

在Windows里面搜索 WSCommCntr​3.exe 文件,应该在C:\Program Files\Common Files\Autodesk Shared\WSCommCntr3\lib\WSCommCntr3.exe,然后把这个文件重新命名,再重新打开软件,就没有问题了。

或者在注册表编辑器中找到下面位置:
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R18.2\ACAD-A005:804\InfoCenter\InfoCenterOn
然后把值改为0,即可。

AutoCAD 2006 进程中的名字则叫WSCommCntr1.exe将其改名为WSCommCntr1-bak.exe,然后启动AutoCAD 2006后会提示xxx启动失败(如下图),再将WSCommCntr1-bak.exe改回原来的名字WSCommCntr1.exe,则启动停止和启动失败的现象均消失,很奇怪。在此记录一下,以便遇到相同问题的人借鉴

原文地址:http://blog.sina.com.cn/s/blog_49f59fac01016s44.html

IIS 7.5中神秘的应用程序池标识解析(程序池账户)

IIS7.5中(仅win7,win2008 SP2,win2008 R2支持),应用程序池的运行帐号,除了指定为LocalService,LocalSystem,NetWorkService这三种基本类型外,还新增了一种ApplicationPoolIdentify

win7的官方帮助上是这么说的:ApplicationPoolIdentity – 默认情况下,选择“应用程序池标识”帐户。启动应用程序池时动态创建“应用程序池标识”帐户,因此,此帐户对于您的应用程序来说是最安全的。 也就是说”ApplicationPoolIdentity”帐号是系统动态创建的“虚拟”帐号(说它是虚拟的,是因为在用户管理里看不到该用户或用户组,在命令行下输入net user也无法显示,但该帐号又是确实存在的) 如何验证该帐号确实是存在的的?打开任务管理器,观察一下:

w3wp.exe即iis进程,上图中高亮部分表明该iis进程正在以帐号luckty运行(注意这里的luckty即为上图中的应用程序池名称) 好了,搞清楚这个有什么用?

先来做一个测试,比如我们在iis里新建一个站点,主目录设置为c:\2\,应用程序池就指定刚才图中的luckty 假如我们在该站点的default.aspx.cs里写入这样一行代码 :

File.AppendAllText(“C:\\TestDir\\1.txt”,DateTime.Now.ToString());

前提是c盘必须先建一个目录TestDir,同时除Administrator,System保留完全控制权外,其它帐号的权限都删除掉 运行后,会提示异常: 对路径“C:\TestDir\1.txt”的访问被拒绝。

原因很明显:该站点运行时是以应用程序池(luckty)对应的虚拟帐号运行的,而这个虚拟帐号不具备c:\TestDir的访问权限 这种情况在web服务器(iis6)安全配置中很常见,比如我们把图片上传目录,常常放在主目录之外,同时以虚拟目录形式挂于站点之下,另外在IIS6中不指定该目录任何执行权限 ,这样即使有人非法上传了asp/aspx木马上去,也无法运行搞不成!言归正传,要想让那一行测试代码正常运行,解决办法很简单,把虚拟帐号的权限加入文件夹安全权限中即可,但是问题来了:这个虚拟帐号我们是不可见的,如果你直接添加名为luckty的用户到文件夹安全帐号里,根本通不过(提示找不到luckty用户),说明这个虚拟帐号名称并不是”luckty”

关键:手动输入 IIS AppPool\luckty (即IIS AppPool\应用程序池名),再确定,这回ok了.

当然除了用”IIS AppPool\应用程序池名”外,windows内部还有一个特殊的用户组Authenticated Users,把这个组加入TestDir的安全权限帐号里也可以,不过个人觉得没有”IIS AppPool\应用程序池名”来得精确.

结束语:IIS7.5的虚拟帐号设计确实很棒,想想传统IIS6的时候,为了把同一服务器上的各站点权限分开(以防止木马捣乱),不得不创建一堆iuser_XXX,iwam_XXX帐号并指定密码,再一个个站点分配过去,累死人!而虚拟帐号设计则让这类管理轻松多了,也不用担心密码过于简单或过期问题。So,还在等什么,赶紧升级到win7/win2008 R2吧!