# Friday, October 28, 2005

孙展波的博客上看到了一个则令人激动的消息:

2005年10月27日上午微软RTM了Visual Studio 2005和.NET Framework 2.0。

MSDN订户将可以在今天晚些时候下载Visual Studio 2005的各个版本。非MSDN订户可以在Microsoft Download Center下载.NET Framework及其SDK。在11月7日之后,非MSDN订户还可以下载Visual Basic, Visual C#, Visual C++, Visual Web Developer, Visual J#, 和SQL Server的Express版本。

我激动不已,于是下载VS2005旧版卸载软件将Beta2的卸载了,可惜卸载完毕才想起来还没有搞到RTM版的安装程序呢:(

只好等开心下个月给俱乐部带来VSTSBeta3再说吧,~~如果是MVP多好啊:)

posted on Friday, October 28, 2005 11:02:41 AM (China Standard Time, UTC+08:00)  #    Comments [0]
# Wednesday, October 26, 2005

本版本的DasBlog是qihangnet基于dasBlog-1.8.5223.1原版做的本地化版本。
安装提示:
1、由于本系统是使用Asp.Net开发的,所以在安装前请确保您的服务器或者虚拟主机支持Asp.net;
2、请确定您将要安装的目录,如果不是网站的根目录,请确保要安装的目录为虚拟目录(可以使用CreateDasBlogVdir.vbs来创建);
3、修改dasblogce\SiteConfig\site.config的<Root>标签内的http://localhost/DasBlog/修改为安装后的实际访问地址;
4、将dasblogce目录下的全部文件上传到您要安装的目录下,并确保content、logs、SiteConfig目录具有足够的权限;
5、初始管理员用户名和密码均为admin,登录进入管理界面,点击配置菜单,对您的网站信息进行正确的配置,保存后即可正常运行本系统;
6、dasblogce\SiteConfig\siteSecurity.config为您的用户配置信息,建议在上传系统文件前先修改其中的<Name>和<Password>值;
7、如果您在使用本版本的DasBlog过程中有什么意见或建议,请到http://www.qihangnet.com联系我。

dasBlog.zh-CN-1.8.5223.1.WebFile.zip">点击这里下载 (安装版本)

qihangnet
2005.10.26

posted on Wednesday, October 26, 2005 10:06:27 AM (China Standard Time, UTC+08:00)  #    Comments [12]
# Monday, October 24, 2005

测试一下DasBlog的异站同步提交功能……测试成功

测试一下DasBlog的异站同步修改功能……测试成功

以上测试是从我的个人网站同步到博客园上的测试。

一切OK,太高兴了,以后可以同步提交到我的多个博客站点了。:)

posted on Monday, October 24, 2005 11:17:55 AM (China Standard Time, UTC+08:00)  #    Comments [6]
# Tuesday, October 18, 2005

SqlServer的默认开放端口是1433,但是由于实际开发的需要端口被设置为非1433,一些开发人员不知如何写该类型的连接字符串了。
其实解决这个问题很简单的,只需在连接字符串的Data Source=myServer后面加上逗号和端口号就可以了。例如“……User ID=sa;Initial Catalog=pubs;Data Source=myServer,1200”,就是连接的1200端口的Sql Server服务器了。

具体的描述如下:
症状:
当您使用传输控制协议/Internet 协议 (TCP/IP) 以外的协议时,如果您指定 1433 以外的一个端口用以连接到 Microsoft SQL Server 的一个实例,则 SqlConnection.Open 会失败。
解决方案:
若要解决此问题,请使用 TCP/IP 协议,并使连接字符串中包括"Server=ComputerName, PortNumber"。

posted on Tuesday, October 18, 2005 9:12:51 PM (China Standard Time, UTC+08:00)  #    Comments [2]
# Tuesday, October 11, 2005
这是一个很好的分页存储过程的解决方案,向大家推荐。
posted on Tuesday, October 11, 2005 7:54:53 PM (China Standard Time, UTC+08:00)  #    Comments [3]
# Tuesday, August 30, 2005

    有时候,我们在调试ASP.net程序的时候,会很痛苦的碰到。某某组件访问被拒绝。这时候重起IIS,电脑注销都不起作用。

其中最常见的原因是Indexing service服务引起的。解决方法就是停用Indexing service,或配置ASP.net 的临时目录不受Indexing service服务的影响。

配置ASP.net 的临时目录不受Indexing service服务的影响的步骤如下:

1、开始 -- 管理工具 -- 计算机管理(Win2003的位置,其他操作系统类似)打开计算机管理
2、展开计算机管理左边树中“服务和应用程序”节点,再在其下展开“索引服务”节点,再在其下展开“System”节点,再在其下展开“目录”节点。
3、在计算机管理的右边我们可以看到配置的索引服务目录。
4、在“目录”节点上右击鼠标,选择“新建”--“目录”
5、在“添加目录”对话框中,路经输入框中输入 ASP.net 的临时文件目录。默认应该是:
c:\<WINDIR>\Microsoft.NET\Framework\<Version Number>\Temporary ASP.NET Files  目录。
<Version Number> 指你要处理的.net版本。
6、在“包含在索引中吗?”选项中,选择“否”
7、单击“确定”按钮
8、在“索引服务”节点上右键单击,重起索引服务即可。

参考以下文档:
http://community.csdn.net/Expert/topic/4075/4075120.xml
http://support.microsoft.com/default.aspx?scid=kb;en-us;329065

posted on Tuesday, August 30, 2005 11:57:27 AM (China Standard Time, UTC+08:00)  #    Comments [1]
# Thursday, August 25, 2005
在实际开发Asp.Net项目时,程序可能会出现一些异常,那么我们应该怎么去获得尽量多的系统异常,以便后期维护过程能够尽可能重现异常,及时分析、发现和修复Bug。为了处理这个问题,我写了一个小程序来帮助实现我的需求。
posted on Thursday, August 25, 2005 2:40:44 PM (China Standard Time, UTC+08:00)  #    Comments [0]
# Friday, August 19, 2005

 在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等。我们通常的做法是:select count(*) as c from tableA 。然而对于记录数巨大的表,上述做法将会非常耗时。在DELL 4400 服务器上做试验,MS Sqlserver 2000 数据库对于100万记录的简单数据表执行上述语句,时间在1分钟以上。如果在表的某个字段上做聚簇索引,第一次执行该语句的时间和没有索引的时间差不多,之后执行上述语句,速度很快,在1秒中以内,但当表的记录数发生较大变化后,再执行该语句又会经历一次耗时的过程。而且不是每个表都适合做聚簇索引的,对于数量巨大的表,如果需要经常增删操作,建聚簇索引是一个很不明智的做法,将会极大的影响增删的速度。那么有没有一个比较简单的方法快速获取表的记录总数呢?答案是有的。
 在MS SQL 数据库中每个表都在sysindexes 系统表中拥有至少一条记录,该记录中的rows 字段会定时记录表的记录总数。下面是sysindexes 表的相关记录的含义:

列名      数据类型             描述
id            int                        表ID(如果 indid = 0 或255)。否则为索引所属表的ID
Indid       smallint                索引ID:
                                         0=表
                                         1=聚簇索引
                                         >1=非聚簇索引
                                        255=具有text或image数据的表条目。
rows       int                       基于indid=0 和 indid=1地数据级行数,该值对于indid>1重 复。如果indid=255,rows设置为0。
  
  
当表没有聚簇索引时,Indid = 0 否则为 1。

那么现在大家应该知道如何获取表的记录总数了,只需执行如下语句:
select rows from sysindexes where id = object_id(tablename) and indid in (0,1)

该方法获取表的记录总数的速度非常快,在毫秒级就可以完成,相比select count(*) 要快上数万倍,但是大家在运用该方法是一定要主要,该方法得到的表的总记录数不是一个精确值,原因是MS SQL 并不是实时更新该字段的值,而是定时更新,当从实践来看该值和精确值一般误差不大,如果你希望快速的粗略估算表的大小,建议你采用该方法。如果你希望得到精确值,那么请在执行上述语句前执行DBCC UPDATEUSAGE(DatabaseName,[TABLENAME]) WITH ROW_COUNTS 强制更新该字段的值,但这样第一次更新时会耗费大量的时间,这样做的效果和建有聚簇索引的表 select count (*) 效果相差不大,所以如果你希望相对快速地得到精确的表的记录总数,那么你有两种选择,建聚簇索引或者先DBCC 再使用上述方法。

posted on Friday, August 19, 2005 10:56:31 AM (China Standard Time, UTC+08:00)  #    Comments [0]