一直半解

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  33 Posts :: 1 Stories :: 18 Comments :: 0 Trackbacks

公告

昵称:xwing
园龄:3年4个月
粉丝:0
关注:0

搜索

 

常用链接

我的标签

最新评论

阅读排行榜

评论排行榜

推荐排行榜

2011年8月8日 #

oracle我用的10g,下载客户端安装之后发现几个问题,记录如下:

支持windows7

oracle10g客户端只支持到6.0版本的Windows,不支持windows 7,需要做如下设置:

解压后修改client/install/oraparam.ini文件
[Certified Versions]
#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
Windows=5.0,5.1,5.2,6.0,6.1  (在window后面添加 6.1)
在 [Windows-6.0-optional] 后面添加如下选项:
[Windows-6.0-optional]
[Windows-6.1-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300
[Windows-6.1-optional]

分别修改如下文件
client/stage/prereq/client/refhost.xml
client/stage/prereq/client_prereqs/client/refhost.xml
<!-- Microsoft Windows Vista -->
<OPERATING_SYSTEM>
  <VERSION VALUE="6.0" />
</OPERATING_SYSTEM>

后面添加如下选项:
<!--Microsoft Windows 7-->
<OPERATING_SYSTEM>
  <VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>

注意有可能有多个refhost.xml文件,都需要修改,32位的客户端可能不需要修改oraparam.ini。

连接字符串

nhibernate连接oracle的connection_string可以如下书写:

<item key="connection.connection_string">Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=服务器地址)(PORT=端口)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=数据库SID)));user id=用户名;password=密码;</item>

32位64位调试环境

我的开发环境是windows7 64位,项目设置为x86和x64两种,在ide中运行test会提示32位代码调用64位库的错误,检查发现我撞了64位的oracle客户端,卸载掉,装32位的即可。

安装目录权限

安装最小版本oracle客户端组件后,运行测试类,提示:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。经检查应该是权限问题,给oracle客户端目录加上认证用户完全控制权限解决。原因暂时未知。


posted @ 2011-08-08 20:35 xwing 阅读(125) 评论(0) 编辑

2011年6月29日 #

安装tags plugin 总是出现 TracError: The Trac Environment needs to be upgraded. 错误。 即使已经按照要求upgraded还是不行,搜索了下临时解决方案就是出错后,编辑trac.ini禁用掉TagModelProvider。

tags plugin 版本0.6, trac版本0.12.2.

posted @ 2011-06-29 10:27 xwing 阅读(40) 评论(0) 编辑

2011年4月26日 #

一般来说代码文件都要有个文档头,带有版权声明和帮助信息等。我以前都是用CtrlC,CtrlV来做,后来研究了一下网上的资料,发现用宏来完成这个任务比较方便。

在工具菜单中选择宏->宏IDE,在宏编辑器中添加新项,选择模块,嗯,模块名字就叫做"AddDocumentHeader"吧。

编辑代码内容如下:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics

Public Module AddDocumentHeader
    
Sub AddDocumentHeader()
        
Dim document As Document
        document 
= DTE.ActiveDocument
        document.Selection.StartOfDocument()
        document.Selection.GotoLine(
2True)
        
Dim content As String = document.Selection.Text
        
'通过比较代码第二行版权信息字符串判断是否需要添加文件头.
        Dim copyrightInformation As String = "Copyright (c) xwingyz(at)gmail.com. All right reserved."
        
Dim ms = " * " + copyrightInformation
        
Dim Found = String.Compare(content, ms)
        
If (Found <> 0Then
            document.Selection.StartOfDocument()
            document.Selection.LineUp()
            document.Selection.Text 
= "/* -----------------------------------------------------------------------------"
            document.Selection.NewLine()
            document.Selection.Text 
= copyrightInformation
            document.Selection.NewLine()
            document.Selection.NewLine()
            document.Selection.NewLine()
            document.Selection.Text 
= "$LastChangedBy$"
            document.Selection.NewLine()
            document.Selection.Text 
= "$LastChangedDate$"
            document.Selection.NewLine()
            document.Selection.Text 
= "$LastChangedRevision$"
            document.Selection.NewLine()
            document.Selection.Text 
= "-----------------------------------------------------------------------------"
            document.Selection.NewLine()
            document.Selection.Text 
= "/"
            document.Selection.NewLine()
        
End If
    
End Sub
End Module

 保存,退出。

 打开一个代码文件,选择工具菜单中宏->Macro资源管理器,选择刚刚建立的模块AddDocumentHeader右键菜单上选择运行,看看代码中是否自动添加了文件头?再执行一次看看是不是没有重复添加?不出意外的话一切OK。

 

下一步是要给这个宏分配一个快捷键,这样就更方便了。

找到工具菜单中选项->键盘选项, 在过滤框中输入AddDocumentHeader,看到你刚刚建立的宏了吧? 赶紧分配一个你喜欢快捷键吧。

 

 

posted @ 2011-04-26 07:53 xwing 阅读(111) 评论(0) 编辑

2011年4月25日 #

尝试了好久,终于在VisualSVN上集成了Trac 0.12.

安装完毕后,记录下新建Trac Project的操作过程。

1.创建Trac Project

假设TracProject目录设置在D:\Trac,确保NETWORK SERVICE用户对其具有完全访问权限。

要新建的Project名为MSS,命令行中输入:

trac-admin d:\trac\mss initenv

直接回车表示使用sqlite数据库,询问Project名称(以后可修改)时输入项目名称:MSS,等待数秒后Trac初始化完毕。

2.集成Trac到VisualSVN的Apache服务器中

这里我用的是Trac推荐的mod_wsgi,用于集成Trac到Apache.

假设VisualSVN安装在C:\Program Files\VisualSVN Server;SVN版本库根目录设置在D:/SvnRepository

打开C:\Program Files\VisualSVN Server\conf\httpd-custom.conf

添加以下代码:

LoadModule wsgi_module bin/mod_wsgi.so
LoadModule authz_user_module bin/mod_authz_user.so

WSGIScriptAlias /trac/mss D:\Trac\mss\trac.wsgi

<Directory D:\Trac>
   WSGIApplicationGroup %{GLOBAL}
#    Order deny,allow
#    Allow from all
</Directory>

<Location '/'>
AuthType Basic
AuthName "Trac"
AuthUserFile D:/SvnRepository/htpasswd
Require valid-user
</Location>

上面用到的D:\Trac\mss\trac.wsgi脚本文件我按照Trac deploy出来的格式照抄了一份:

#!C:\Python27\python.exe
#
 -*- coding: utf-8 -*-
#
#
 Copyright (C)2008-2009 Edgewall Software
#
 Copyright (C) 2008 Noah Kantrowitz <noah@coderanger.net>
#
 All rights reserved.
#
#
 This software is licensed as described in the file COPYING, which
#
 you should have received as part of this distribution. The terms
#
 are also available at http://trac.edgewall.org/wiki/TracLicense.
#
#
 This software consists of voluntary contributions made by many
#
 individuals. For the exact contribution history, see the revision
#
 history and logs, available at http://trac.edgewall.org/log/.
#
#
 Author: Noah Kantrowitz <noah@coderanger.net>
import os

def application(environ, start_request):
    
if not 'trac.env_parent_dir' in environ:
        environ.setdefault(
'trac.env_path''d:\\trac\\mss')
    
if 'PYTHON_EGG_CACHE' in environ:                                           
        os.environ[
'PYTHON_EGG_CACHE'= environ['PYTHON_EGG_CACHE']
    
elif 'trac.env_path' in environ:
        os.environ[
'PYTHON_EGG_CACHE'= \
            os.path.join(environ[
'trac.env_path'], '.egg-cache')
    
elif 'trac.env_parent_dir' in environ:
        os.environ[
'PYTHON_EGG_CACHE'= \
            os.path.join(environ[
'trac.env_parent_dir'], '.egg-cache')
    
from trac.web.main import dispatch_request
    
return dispatch_request(environ, start_request)

 以上设置表示:

项目mss访问地址为 http://服务器地址/trac/mss;

使用visualSVN内置的用户帐号登录;

禁止匿名访问。

若需要允许匿名访问,可以把 httpd-custom.conf文件中的

<Location '/'>
AuthType Basic
AuthName 
"Trac"
AuthUserFile D:
/SvnRepository/htpasswd
Require valid-user
</Location>

 替换为

<Location /trac/mss/login>
AuthType Basic
AuthName 
"Trac MSS"
AuthUserFile D:
/SvnRepository/htpasswd
Require valid-user
</Location>

这样点击Trac登录链接时会弹出认证框要求登录。

以后若要添加新的Trac Project(如新建项目CMSCS)只需要在httpd-custom.conf再加一行:

WSGIScriptAlias /trac/cmscs D:\Trac\cmscs\trac.wsgi

然后复制一份trac.wsgi到cmscs目录中。

若项目需要单独的权限可以再添加

<Location /trac/cmscs/login>
AuthType Basic
AuthName 
"Trac CMSCS"
AuthUserFile D:
/SvnRepository/htpasswd
Require valid-user
</Location>
 

 3.设定webadmin用户

webadmin让你可以从web界面管理trac配置,从0.12版本开始内置在trac中。

我们要让指定用户具有webadmin权限。

命令行输入:

trac-admin d:\trac\mss
permission add xwing TRAC_ADMIN
permission list xwing

其中用户名xwing需要在visualSVN中有对应用户。

4.关联SVN版本库 

从Trac0.12版本支持一个Project关联多个SVN版本库。

假设VisualSVN版本库根目录位于 D:\SvnRepository,事先已经为项目MSS建立好一个SVN版本库,位于D:\SvnRepository\MSS

有两种方式可以添加SVN版本库到Trac,这里使用修改Trac.ini的方式。

 打开d:\trac\mss\conf\trac.ini

添加如下内容:

[repositories]
mss.dir 
= D:/SvnRepository/MSS
mss.description 
= MSS
mss.type 
= svn
mss.url 
= http://服务器地址/svn/MSS
.alias 
= mss
.hidden 
= true

保存之后,刷新页面即可看到浏览源码菜单。并且mss版本库被设置为默认值。

若要添加多个版本库,可以修改[repositories]配置信息为:

[repositories]
mss.dir 
= D:/SvnRepository/mss
mss.description 
= MSS
mss.type 
= svn
mss.url 
= http://服务器地址/svn/mss
cmscs.dir 
= D:/SvnRepository/cmscs
cmscs.description 
= CMSCS
cmscs.type 
= svn
cmscs.url 
= 
.alias 
= mss
.hidden 
= false

注意如果trac.ini中有中文的话,需要保存为没有BOM的UTF-8格式。

在trac.ini中配置SVN版本库后可以在webadmin的管理面板中查看,但是不能修改。

svn版本库配置完毕后需要重新同步Trac缓存。

输入以下命令:

trac-admin d:\trac\mss repository resync "mss"
trac-admin d:\trac\mss repository resync "cmscs"

 分别重新同步添加的2个SVN版本库。

或者直接执行命令: 

trac-admin d:\trac\mss repository resync "*"

 同步所有SVN版本库。

5.同步SVN版本库

 从Trac0.12开始,需要在SVN服务添加post-commit hooks来显式进行同步。

 在VisualSVN的MSS版本库节点上右键菜单选择属性,弹出对话框中选择Hooks标签页

双击post-commit hook,在对话框中输入:

 
trac-admin d:\trac\mss changeset added "mss" "%1" "%2"
 

双击 Post-revision property change hook,在对话框中输入:

trac-admin d:\trac\mss changeset modified "%1" "%2"

 这样每次提交的时候会通知trac进行版本库同步操作。

 在trac.ini中[components]段添加:

tracopt.ticket.commit_updater.= enabled

 这将允许通过SVN提交信息来更新任务单。

例如:

Refs #123 将引用任务单#123
Fixes #123 将引用并把任务单#123状态修改为closed

posted @ 2011-04-25 00:36 xwing 阅读(835) 评论(0) 编辑

2010年9月14日 #

vs2010的配方方案不太适应,想自己改,但是超麻烦。 网上找到一个网站提供了VS配色方案的下载和分享:Studiostyles.info使您能够方便地浏览和下载在Visual Studio中其他人创建的色彩计划。配色方案适应的版本为VS 2008和 VS 2010(包括所有版本-其中有免费的VS express版)。
posted @ 2010-09-14 09:34 xwing 阅读(638) 评论(0) 编辑

2010年9月5日 #

摘要: [代码]阅读全文
posted @ 2010-09-05 20:51 xwing 阅读(99) 评论(0) 编辑

2010年8月30日 #

摘要: [代码]阅读全文
posted @ 2010-08-30 20:57 xwing 阅读(8) 评论(0) 编辑

2010年8月25日 #

摘要: Nhibernate Borrow 作为一个轻量级的Nhibernate session管理工具的确很方便. 不过最近发现在IIS7中Burrow有个问题. 错误提示为:"Either workspace is not initialized yet or it is closed", 看样子是Burrow的OpenSessionInView模式有问题了,经检查是NHibernate.Burrow...阅读全文
posted @ 2010-08-25 12:03 xwing 阅读(208) 评论(0) 编辑

2010年8月10日 #

摘要: 在web开发中使用Nhibernate.Burrow可以在数据库session和事务管理上节省不少力气, 最近又开始用Nhibernate了,结果发现一个不错的东西:Fluent NHibernate,它非常Cool! 我一直不喜欢写hbm映射xml,改用NHibernate.Mapping.Attributes感觉还不错,但遇到Fluent NHibernate之后就立刻把NHibernate....阅读全文
posted @ 2010-08-10 23:51 xwing 阅读(308) 评论(0) 编辑

2010年8月2日 #

摘要: jquery在visual studio 2008中可以使用智能代码提示(intellisense)的方法很多. 以前的做法是引用jquery.js之后还需要引用一个jquery-vsdoc.js后来安装了一个hot fix(KB958502 - JScript Editor support for “-vsdoc.js” IntelliSense doc. files)之...阅读全文
posted @ 2010-08-02 11:37 xwing 阅读(128) 评论(1) 编辑