自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 2021-08-25

今天,同事在操作一个很老的数据库 SQL SERVER 2000时,无意中用删除命令,准其中的某张表数据给删除了,当时急出了一头汗。得知情况后,我先备份数据库,再备份数据库日志。然后查找有没有老的全备数据库备份。还好有一个1个月以前的备份。重新找一台有SQL SERVER 2000环境的工作站,先恢复老的备份。在 SQL 查询分析器中执行:restore database [XXX] on disk='d:\db\xxx.bak' with norecovery其中 XXX 是数据库名称,d:\db

2021-08-25 15:10:24 99

原创 创建 Delphi DataSnap 程序的问题集萃(4)

(本文所讨论的开发环境,为 Delphi XE5)    最近有点小忙,博客只能忙里偷闲地写了。    本篇介绍如何在客户端和服务器端之间传递数据。    我本人很不喜欢在页面上频繁地使用数据感知控件,并使用 DataSet 来作为参数传来传去——因为 DataSet 并不是一个强类型类,而且它与数据库的耦合性太紧了。    相比较于 DataSet(如 TClientDataSe

2014-01-20 23:22:42 1533

原创 Delphi 中ADO使用SQLOLEDB数据驱动时,无法获取存储过程RAISERROR返回的字符串描述

真的很郁闷:我的三层架构,数据库访问层使用的是 TADOConnection系列控件:TADOQuery、TADOStoredProc。今天无意中测试存储过程,发现存储过程中的事务回滚了,但RAISERROR返回的错误程序却捕获不到。存储过程示例如下:alter procedure proc_test() asbegin begin transaction update

2014-01-20 00:08:10 2173 1

原创 创建 Delphi DataSnap 程序的问题集萃(3)

(本文所讨论的开发环境,为 Delphi XE5)    本篇介绍如何实现服务器端数据库连接的共享。    常见的数据库连接实现,是为每个数据模块建立一个连接。但这样做将产生大量的数据库连接,并产生很多问题。    在上一篇,我们分析了 Datasnap 客户端连接服务器端时相关事件的执行顺序。其中,ServerContainerUnit1 容器是在服务器端一开始运行时就创建,直到

2013-12-29 11:07:25 1700

原创 创建 Delphi DataSnap 程序的问题集萃(2)

当服务器端使用 Invotation 模式的生命周期,且大量的客户端连接时,我们可以采用对象池的设计,为 TDSServerModule 建立对象池,这其实也是数据库连接对象的对象池。    这带来了新问题:我们的业务对象如何取得数据库连接?    数据库连接对象存在于 TDSServerModule 中,而 TDSServerModule 是用户连接并执行服务器方法时动态创建。如果业务对

2013-12-29 10:04:48 1652

原创 创建 Delphi DataSnap 程序的问题集萃(1)

当我们开始创建第一个 DataSnap 商业软件前,有些技术上的问题必须明确。    DataSnap 是三层架构,客户端暂且不谈,我们先讨论一下服务器端的架设。    在服务器端,其实要实现两层架构:业务逻辑部分、数据访问部分。    在 DataSnap 中,我们使用 TDSServerModule 类,将业务逻辑展示给客户端。也就是说,只有这个类中的 Public 方法才能被客户

2013-12-24 15:50:10 1748

原创 Delphi scktsrvr 三层架构程序,解决“远程主机强迫关闭了一个现有的连接”(2)

(接上一篇)    老程序运行一段时间后,相比较原来的状况,稳定多了。但时不时的还会有客户反映,程序有时会假死。我又反思了一下,原因在于:用户和服务器之间的连接,由于各种原因断掉,就会出现这样的情况。原先客户量才几十,现在客户量多了,scktsrvr 模式的弊端难以解决。先折中处理下吧,毕竟用户体验度第一,以后想法改成 DataSnap。    折中处理方案如下:    在客户端程序的

2013-12-24 11:03:53 2129

原创 Delphi scktsrvr 三层架构程序,解决“远程主机强迫关闭了一个现有的连接”

我手里的一个老项目,用的是Delphi scktsrvr.exe 架构的三层程序,用户数300左右。使用过程中,一直有用户反映,有时表格填写地好好的,提交时却报错:远程主机强迫关闭了一个现有的连接。重新读了一下源码,没看出什么毛病。于是上网百度,终于了解到,用户和服务器之间的连接,由于各种原因断掉,就会有这样的提示。应该把它看做常态。于是我就想在Application.OnException事

2013-11-12 09:30:36 2509

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除