首页 > php与数据库

用Apache Geronimo创建并部署blog和wiki 模块


从 20 世纪 90 年代末起(那时 Web 的繁荣正达到某个饱和点),一些用户开始编辑他们最喜欢的网站清单,这些网站符合一定的兴趣或主题。许多包含在用户清单上的条目都被加了评论,并标注了日期。这样的清单很快被称为 weblog 或 blog(博客),维护这样的 blog 的人被称为 blogger。后来,blog 开始变成文章的集合,通常以时间倒序的形式呈现,并与一个特定的主题相关。Wikipedia 对 blog 的定义如下:
早期的 weblog 仅仅是普通网站的手动更新组件。然而用于简化网络文章(以所谓时序性风格发表)生成及维护的工具的发展使得发表的过程在规模上更为庞大、技术含量更低并更加流行。最终导致了这种在线发布的类型,由此产生了今天的 blog。例如,使用一些基于浏览器的软件是当今 “blog” 的一种典型表现。可以通过专门的 blog 主机服务来托管 blog,blog 也能通过使用 blog 软件在一般的网络主机服务上运行。像其他媒体一样,blog 通常关注某一特定的主题,诸如食品、政治或本地新闻。一些 blog 以在线日记的形式存在。
在 blog 开始出现的同一段时间里,Ward Cunningham 发明了一项技术,这项技术允许任何人通过简单的编辑为 Web 页面做贡献。他将这项技术命名为 Wiki Wiki Web(来源于夏威夷语单词 wiki ,意为迅速 或快),后来这个名字被缩略到只有 wiki 。使用 wiki 的一项显著优势是用户可以当场向 Web 页面贡献内容。另外,因为编辑起来很简单,因而贡献内容时不需要任何特殊的软件。可以在 Wikipedia Web 的百科全书上找到更多关于 wiki 技术的信息,该网站本身就是使用 wiki 技术实现的。(参见 参考资料 上的链接)。

阅读全文

对SQL数据库定期进行收缩 减小日志存储压力

     一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大。
      1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存
      2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定。
      3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据 。

      原文地址:http://www.phprm.com/?13542/action_viewspace_itemid_2928.html

阅读全文

用JSP连接mysql数据库的方法 (1)

首先在Eclipse上编写的JSP连接MySQL数据库的程序总是报错.我都已经down了Oracal准备放弃MySQL了,不过...就象电视剧演的那样,转机总是在这个时候出现,先是看到了saulzy关于MySQL4.1.11版本的安装介绍,接着又找到了一款不错的MySQL 界面插件,最后在网友的帮助下把MySQL的JDBC驱动配好并连通了.一连5天,日子真不好过阿,不过这个过程中,我也觉得自己学到不少东西,呵呵,反正都撑过来了,就要继续往前走.现在,就这几天弄的总结一下,希望对同是正在学习Java技术的同道中人能有帮助.

阅读全文

使用存储过程时一个错误的解决方法

jackxm(原作)
这段时间用了一下C Builder ,在调用存储过程的时候遇到了一些问题,问了很多地方都没有找到答案,最后还是靠自己,现在拿出来和大家分享。
示例代码:
StoredProc1->Params->Clear();
StoredProc1->Params->CreateParam( ftSmallint, "@m1", ptInput);
StoredProc1->Params->CreateParam( ftString, "@m2", ptOutput);
StoredProc1->Params->CreateParam( ftInteger, "@m3", ptOutput);
StoredProc1->Params->CreateParam( ftInteger, "@m4", ptOutput);
StoredProc1->Params->CreateParam( ftInteger, "@m5", ptOutput);

StoredProc1->Params->CreateParam( ftInteger, "Result", ptResult);
StoredProc1->Prepare();
StoredProc1->ExecProc();
问题:调用存储过程的时候总是报错,注意,时在执行StoredProc1->ExecProc()的时候就会报错,其它的地方报的错误的解决方法不再本篇文章中。执行代码报错时的错误信息提示:错误:indicator variable required but not supplied
原因:当在执行的存储过程的时候,如果有一项出项空值的时候,就会发生这样的问题
解决:在存储过程中对产成的空值进行处理,就可以了

阅读全文

Sql Server实用操作小技巧集合

(一)挂起操作
在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用,解决办法:
到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager
删除PendingFileRenameOperations
(二)收缩数据库
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
--收缩数据和日志
DBCC SHRINKDB
DBCC SHRINKFILE
(三)压缩数据库
dbcc shrinkdatabase(dbname)
(四)转移数据库给新用户以已存在用户权限
exec sp_change_users_login 'update_one','newname','oldname'
go
(五)检查备份集
RESTORE VERIFYONLY from disk='E:dvbbs.bak'
(六)修复数据库
ALTER DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
GO
ALTER DATABASE [dvbbs] SET MULTI_USER
GO
--CHECKDB 有3个参数:
--REPAIR_ALLOW_DATA_LOSS
-- 执行由 REPAIR_REBUILD 完成的所有修复,包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象。这些修复可能会导致一些数据丢失。修复操作可以在用户事务下完成以允许用户回滚所做的更改。如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。修复完成后,备份数据库。
 
--REPAIR_FAST 进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。这些修复可以很快完成,并且不会有丢失数据的危险。
 
--REPAIR_REBUILD 执行由 REPAIR_FAST 完成的所有修复,包括需要较长时间的修复(如重建索引)。执行这些修复时不会有丢失数据的危险。
 
--DBCC CHECKDB('dvbbs') with NO_INFOMSGS,PHYSICAL_ONLY

阅读全文

解决Sql Server警报的疑难问题

1.检查你是否使用了最新的Sql Server service pack   
  这是因为在最新的Sql Server service pack中已经修补了很多Sql Server使用警告(Alerts)的漏洞。你应该确保在你的系统中已经安装了最新的Sql Server service pack补丁包。
   
  2.检查SqlServerAgent服务的帐户是否作为成员运行在域用户群组(Domain User Group)下  LocalSystem帐户它没有访问网络的权限。所以,如果你需要将事件记录在其他运行有Windows NT或Windows 2000机器上的应用程序日志上,或者你的作业(jobs)需要跨网络的资源,或者你需要通过e-mail或者pagers通知操作者,这时候,你就需要将SalServerAgent服务的帐户设置在域用户群组(Domain User Group)下作为它的成员。
   
  3.如果所定义的警报都没有触发,检查SqlServerAgent和EventLog服务是否都在运行如果你需要让你定义的警报被触发,这些服务必须被开启。所以,如果这些服务没有被运行的话,请运行它们。
 
  4.如果有某个警报没有被触发,请确保它们是否被启用警报可以被启用或禁用,为了检查一个警报是否被启用,你应该做以下这些步骤:  
  1) 运行Sql Server Enterprise Manager   
  2)请打开服务器群组,然后打开某个服务器   
  3)请打开管理(Management),然后再打开Sql Server Agent  
  4)双击合适的警报以查看这个警报是否被启用了   
  5)检查警报的历史值以确定警报最后工作的日期和时间
  为了检查一个警报的历史值,你应该做以下这些事情:   
  1) 运行Sql Server Enterprise Manager   
  2) 请打开服务器群组,然后打开某个服务器   
  3) 请打开管理(Management),然后再打开Sql Server Agent   
  4) 双击合适的警报以查看警报的历史值   
  6.核对每20秒维护的计数器值   
  因为Sql Server Agent每20秒间隔维护一个性能计数器,如果发现这个性能计数器只有几秒钟(少于20秒)才维护一次,那么极有可能你的这个警报将不会被触发。
   
  7.检查Sql Server错误日志,Sql Server Agent错误日志以及Windows NT和Windows 2000的应用程序日志以获得有关错误描述的更多详细信息仔细检查核对当产生警报失败事件时,被记录在Sql Server错误日志,Sql Server Agent错误日志以及Windows NT和Windows 2000的应用程序日志中的日期和时间以及对错误的描述能帮助你分析产生警报失败事件的原因。
   
  8.如果警报被触发了,但是这时候操作员却没有收到任何通知,请尝试手动使用"e-mail","pager"或者用"net send"将信息发送给操作员在很多情况下,你输入了一个错%C

阅读全文