RSS 2.0 Feed
2004-06 Entries
摘要:这几天在整理一些利用 Visio 进行数据库建模的资料,无意中发现一处明显误导用户的翻译错误,如下图所示:    为什么要说是“明显误导”呢? 因为在数据库建模的时候,当在 Visio 中把概念模型(使用 ORM Source Model)建立好之后,接着就是建立逻辑模型,即新建"数据库模型图",逻辑模型可以由概念模型正向工程得到,所以在把概念模型的图加入到项目中后,这个"Build"菜单就是关键一步,翻译成"版本"意思就差别十万八千里了,害得我好半天没找到如何实现这个功能。按照 mvm 的话来说,就是“Microsoft 也不找个人 Review 一下,这么明显的错误高中生都能发现 ...” 另外,要想在 Visio 中进行全功能的数据库建模,必须使用 Visio 2000 Enterprise,或者是 Visio 2002 for Enterprise Architect (VEA),而在 Office 2002/2003 中的 Visio Stardard/Profession 都没有全程建模能力,即不能建立概念模型,也不能正向工程建立数据库或生成 DDL,曾尝试着把 VEA 中的模具加到 Visio 2003 中,但以失败告终,不知什么时候 Visio 2003 也有全程建模的能力,难道等 VS.NET 2005 ? 另外,一直觉得 Visio 有些地方做得不好,形状的颜色选择列表没有和其它 Office 的应用程序统一起来,显得很老土,幸亏 Visio 2003 中增加了一些很可爱的 3D 形状,大大增加了画图的乐趣。 也曾尝试着用过其它绘图工具,SmartDraw 虽然好用,但图形也很难看,前两天用了一下著名的建模工具 ERWin ,其中的图形更难看了,而且不支持 Undo/Redo 功能,在 Windows 应用程序中,尤其是创作工具中,没有 Undo/Redo 功能会死人的,回头有机会和 PowerDesigner 比比。 查看:Visual Studio .NET Enterprise Architect 中基于 Visio 的数据库建模:第一部分 | 第二部分 | 第三部分...[阅读全文]

posted @ | Feedback (7) | Filed Under [ 软件技术 ]

摘要:在 Microsoft Insider 的站点上,最近发布了一些高技术在家庭中的应用的 TV Show,非常精彩! 内容涉及: 未来的家庭 数字音乐 财务记录 家庭用具 汽车 游戏 个人生产力 移动能力 电视及影像 还没有来得及全部看,只看了其中一小部分,就足以激动人心: 在微波炉有条形码(Barcode)识别器,食品放入之前,扫一下条形码,系统自动选择最合适的加热温度和加热时间,并且在完成后向其它家庭设备(如电视等)发送通知信息; 可以利用灯光来变换墙体的颜色,以自动营造不同的气氛; 语音识别设备,可以回答你的问题,如时间等; 利用条形码或RFID,系统可以将食品的烹饪建议,方法显示给你; XBOX Live 的 Friend List 可以让大家一起玩游戏; 利用一个平板电脑上的非常易用的界面,就可同家庭成员进行各种通讯,Voice、Text、Video、甚至还可以发送拥抱与 Kiss;  ... ... 不仅要听、要看。还要下载下来收藏,多好的技术+英语的教学片呀! 查看:Microsoft Insider 站点  |  Microsoft High Tech TV Home...[阅读全文]

posted @ | Feedback (4) | Filed Under [ 行业观察 软件技术 ]

摘要:最近帮别人忙将一个在 Linux 上的 PHP + MySQL 的小系统移植到 Windows 上,PHP 不变,数据库改用 SQL Server ,整个移植过程挺简单。 1、环境 在 Windows 上安装 PHP ,注意要将 PHP\sessiondata 的目录设置为 IUSR_Machine 用户可写 在 IIS 中建立 PHP 的虚拟站点,如果是 IIS 6.0,新增加一个 PHP 的 CGI 扩展并启用之 修改 PHP.ini ,使 PHP 可以连接 SQL Server,extension=php_mssql.dll,并更改 session.save_path (Linux 上一般是 /tmp,Windows 上是 C:\PHP\sessiondata) 在 Windows 上安装 MySQL、MySQL Control Center(可选)、MySQL ODBC Connector。 2、数据库 将 MySQL 的数据备份文件恢复 在 SQL Server 中新建 DB,并使用 DTS 将 MySQL 的 DB 导入 可以还要做少许设置,将一些未能导入的设置还原,如 Key、Index、Auto Increment 列等 在新数据库建立专门的 PHP 访问登录用户 3、应用 将 MySQL 的数据库连接参数改成 MS SQL Server ,参数都差不多,无非 Server、DB Name、UserName 和 Password 等; 将所有 PHP 页面中的 mysql_XXX 函数替换成 mssql_XXX   函数,唯一不同的是没有 mssql_error 这个函数; MySQL 的 SQL 中可以用 “'” 来加在表名的两端,这在 SQL Server 中是非法的,将其替换成空(替换成 [ ] 也可以,但太麻烦);......[阅读全文]

posted @ | Feedback (6) | Filed Under [ 程序设计 软件技术 ]

摘要:平常有很多表格要填,想节省点力气,有幸深入地使用了一下 Infopath,发现问题还不少。 1、如果直接设计界面,在生成的 Schema (XSD)中,所有字段全部都在 Root 下,即使在“数据源”中增加了组(组中的元素是 Ref  根元素下的 Element 定义),这样不同组中想要设计同名字段不可能。; 2、Field 和 Group 上不能自定义 NameSpace 以便区分; 3、开发功能不好用,用 Microsoft Script Editor ,VBScript 和 JavaScript 调试不方便,和 .NET 集成的功能还没有使用; 4、不能在 XSN 中直接更改脚本的类型(VBS<-->JS),只能手动修改 Extract 后的单个文件; 5、Object Model 很乱; 6、奇怪的事件(在一个组上设置了 OnAfterChange ,结果只要组中任何一个控件的值有变,则这个事件被 Activate 20 几次); 7、Office System 的诸多公共特性尚不支持; 8、如果是用外部的 Schema 来 Design Form ,则完全不能增删改数据源,即使修改了最初的 Schema ,Infopath 中也不会变化; 9、矢量字体支持较差,没有 9 号字体; 10、数据源中的 Filed 竟然不能上下移动(SP1 Preview 中可以了),在不同的组之间移动时,操作很不方便,不支持鼠标拖动。 ...[阅读全文]

posted @ | Feedback (5) | Filed Under [ 软件技术 ]

摘要:今天在 MS SQL Server 2000 Enterprise Manager 的 SQL 窗格中调试如下 SQL 语句: SELECT TOP 10 *        FROM (SELECT TOP 20 *                FROM news                WHERE class = 001                ORDER BY pubdate DESC)        ORDER BY pubdate 发现 SQL 窗格执行后在将原始的 SQL 改动了,自动增加了一个  DERIVEDTBL ,变成如下这样了: SELECT TOP 10 *        FROM (SELECT TOP 20 *                FROM news                WHERE class = 001                ORDER BY pubdate DESC) DERIVEDTBL         ORDER BY pubdate 这个 DERIVEDTBL 还真让我费了一点劲,以为是新的保留关键字,可是在 SQL Server 的 Online Help 中没有找到,在 Google 也没找着这个单词的解释。 后来无意中把 DERIVEDTBL 改成 Temp 发现也能用,汗~~~,原来是 SQL 窗格只是给子查询增加了一个别名而已。 唉,真是吃了没文化的亏了,谁让咱 SQL Server 学/用得少呢。 建议把这个作为招聘 SQL Server 相关人员的一个面试题。...[阅读全文]

posted @ | Feedback (24) | Filed Under [ 软件技术 ]

摘要: 今天和同事聊天得知,我以前设计的银行代理保险系统(俗称银保通)的方案基本上得以实施(我所在的部门只负责方案建议书设计,不负责实施),于是沾沾自喜了一下,因为这个项目有些特殊。 [背景] 什么是银行代理保险系统? 银行代理系统是指银行代理保险公司,销售其一些专门设计的、较为简单的保险产品。由于其险种设计简单方便、又很好地利用了银行的销售渠道,是一种金融业混业经营的很好的模式,所以近几年发展势头非常猛。 2001年全国银保业务保费收入只有50亿元,在寿险总收入中所占比重不到3.5%,2002年银行保险已夺取了总寿险收入17.1%的份额,银保收入388亿元,2003年我国银行代理保险业务实现保费收入约800亿元,占总寿险保费收入的25%以上,银保业务已成为仅次于个人营销业务的第二大寿险销售渠道。 从此可以看出,银保通系统的业务规模与重要性。 设计关键点 在设计此方案时,曾经有两种备选方案,其主要差别是前端界面、通讯协议与应用接口定义三个方式,分别有以下选择: 前端: 利用现有的字符终端 浏览器 通讯协议 传统的 TCP Socket XML Web Services(SOAP) 应用接口定义 专用接口,根据每个保险公司的不同产品,定义不同的数据传输接口 Acord 注:Acord——用国际标准的保险行业应用协议,这是一个基于 XML 的开放式协议,在国外许多大的金融、保险服务集团中被广泛采用,此协议通用性强,便于扩充,所以基于此协议实现的系统更容易扩展、升级、集成与改造,Acord 主要定义了保险业务的数据模型和交易模型。 Acord 组织成立于 1970 年,是由保险公司、IT厂商、政府机构及保险业其它成员组成的非营利机构,宗旨在于开发、推广及维护保险业内信息交换标准,其背后有全世界超过 1000 家保险公司及一万五千家代理商提供支持,使得 Acord 的 XML 标准成为保险业网络服务的首要标准,并且成为和其它金融机构进行数据交换的必备标准,它包含保险行业的数据模型和基本交易,在此基础上,经过扩展,可以支持所有保险数据类型和交易类型,它的作用相当于银行清算中的 SWIFT 协议。 方案设计 其实很容易就能比较两种方案孰优孰劣,但对于很传统的银行业来说,采用浏览器/SOAP/Acord 这个方案是具有很大冒险性的,假如不能成功实施,则一定会打击方案设计人员和银行对于使用新技术的信心。 当时我也是捏了一把汗,通过对两种方案的优缺点的详细比较与分析,加上与相关人员的长时间沟通,终于在最后定下了这个方案。 然而项目在实施中,由于技术力量不足,Acord 在国内的资源也不充足,最后接口/数据格式仍然以自定义 Schema 为主,但毕竟在项目中使用了 Web? Services/SOAP/XML 等新兴技术,算是一种很好的尝试,而且也离 Acord 不远了。 这个项目即将开发完成,近期正在和国内的某著名保险公司联合测试接口,不久将在某分行投产,估计在国内大型金融企业,这也算是为数不多的在关键应用中使用 XML Web Serivces技术的一个案例了。...[阅读全文]

posted @ | Feedback (12) | Filed Under [ XML/Web Service 行业观察 软件技术 ]