志福's profile阿福台PhotosBlogLists Tools Help

Blog


    3/27/2009

    [转]sql安装出错,安装程序配置服务器失败(解决了!)

    sql server 2000安装出错,无法找到动态链接库sqlunirl.dll
    安装文件肯定没有错,因为以前安装过,绝对可以用

    机子之前有装了sql server 2000,而且可以正常使用,只是今天突然无法连接到本地数据库,打算重装,我删了program files里的ms sql的目录,然后重装sql,结果在最后一步的时候提示,无法完成配置。后来又删除了一些注册表中的sql server信息(有备份注表),再安装时,就出现这样的提示了,更糟的是,备份的注册表却无法还原

    ============================
    现在问题解决了,总结了一些经验


    当安装时出现MDAC组件安装失败时,试着修复或重装microsoft office

    当你想重装sql server,而安装时又出现“您的机子上已经安装有一个实例”的提示时,可以删除program files\Microsoft SQL Server文件夹,再安装

    当出现某某动态链接文件找不到时,可以试着在sql server的安装文件中找到这个文件,复制到系统目录下的system和system32文件夹中(一般在出现这个错误消息时,都会提示哪几个文件夹下缺少这个文件)

    当出现安装程序配置服务器失败时,可以试着用一下方法解决
    此错误消息可以在系统目录下找到,例如我的系统是win2000,则该文件在C:\WINNT\sqlstp.log

    失败一:
    正在与服务?

    driver={sql server};server=ZHL;UID=sa;PWD=;database=master

    [Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H

    driver={sql server};server=ZHL;UID=sa;PWD=;database=master

    [Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H

    driver={sql server};server=ZHL;UID=sa;PWD=;database=master

    [Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H

    SQL Server 配置?

    ###############################################################################

    13:40:06 Process Exit Code: (-1)
    13:40:09 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstp.log 了解更多信息。
    13:40:09 Action CleanUpInstall:
    当出现这个错误时,试一下重装系统文件
    我的机子是win2000,在dos下重新运行win2000的安装,然后选择修复,而不是全新安装
    修复系统文件之后,再装sql server,则不会出现此错误消息



    失败二:
    正在与服务?

    driver={sql server};server=ZHL;UID=sa;PWD=;database=master

    [Microsoft][ODBC 驱动程序 管理器] 未发现数据源

    driver={sql server};server=ZHL;UID=sa;PWD=;database=master

    [Microsoft][ODBC 驱动程序 管理器] 未发现数据源

    driver={sql server};server=ZHL;UID=sa;PWD=;database=master

    [Microsoft][ODBC 驱动程序 管理器] 未发现数据源

    SQL Server 配置?

    ###############################################################################

    13:50:07 Process Exit Code: (-1)
    13:50:10 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstp.log 了解更多信息。
    13:50:10 Action CleanUpInstall:
    当出现这个错误时,是因为在注册表删除了HKEY_LOCAL_MACHINE\SOFTWARE\ODBC中有关sql sever的

    内容
    这时可以选择修复注册表,或安装ODBC修复工具
    ODBC修复工具: http://211.101.4.50/download/canyin/tools/MDAC_TYP.EXE



    失败三:
    在与服务?

    driver={sql server};server=ZHL;UID=sa;PWD=;database=master

    [Microsoft][ODBC SQL Server Driver][Named Pipes]连接?

    [Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (ReadFile()).

    driver={sql server};server=ZHL;UID=sa;PWD=;database=master

    [Microsoft][ODBC SQL Server Driver][Named Pipes]连接?

    [Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (GetOverLappedResult()).

    driver={sql server};server=ZHL;UID=sa;PWD=;database=master

    [Microsoft][ODBC SQL Server Driver][Named Pipes]连接?

    [Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (GetOverLappedResult()).

    SQL Server 配置?

    ###############################################################################

    17:17:41 Process Exit Code: (-1)
    17:17:45 安装程序配置服务器失败。参考服务器错误日志和
    当出现这个错误时,必须安装ODBC修复工具
    ODBC修复工具: http://211.101.4.50/download/canyin/tools/MDAC_TYP.EXE
    3/16/2009

    [转]SQL字符串函数

    SQL字符串函数

    字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。常用的字符串函数有:
    一、字符转换函数
    1、ASCII()
    返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。

     

    2、CHAR()
    将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。

     

    3、LOWER()和UPPER()
    LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。

     

    4、STR()
    把数值型数据转换为字符型数据。
    STR ([,length[, ]])
    length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
    当length 或者decimal 为负值时,返回NULL;
    当length 小于小数点左边(包括符号位)的位数时,返回length 个*;
    先服从length ,再取decimal ;
    当返回的字符串位数小于length ,左边补足空格。

     

    二、去空格函数
    1、LTRIM() 把字符串头部的空格去掉。
    2、RTRIM() 把字符串尾部的空格去掉。
    三、取子串函数
    1、left()
    LEFT (, )
    返回character_expression 左起 integer_expression 个字符。
    2、RIGHT()
    RIGHT (, )
    返回character_expression 右起 integer_expression 个字符。
    3、SUBSTRING()
    SUBSTRING (, , length)
    返回从字符串左边第starting_ position 个字符起length个字符的部分。
    四、字符串比较函数
    1、CHARINDEX()
    返回字符串中某个指定的子串出现的开始位置。
    CHARINDEX (<’substring_expression’>, )
    其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。
    此函数不能用于TEXT 和IMAGE 数据类型。

     

    2、PATINDEX()
    返回字符串中某个指定的子串出现的开始位置。
    PATINDEX (<’%substring _expression%’>, )其中子串表达式前后必须有百分号“%”否则返回值为0。
    与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。
    五、字符串操作函数
    1、QUOTENAME()
    返回被特定字符括起来的字符串。
    QUOTENAME (<’character_expression’>[, quote_ character]) 其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。

     

    2、REPLICATE()
    返回一个重复character_expression 指定次数的字符串。
    REPLICATE (character_expression integer_expression) 如果integer_expression 值为负值,则返回NULL 。
    3、REVERSE()
    将指定的字符串的字符排列顺序颠倒。
    REVERSE () 其中character_expression 可以是字符串、常数或一个列的值。
    4、REPLACE()
    返回被替换了指定子串的字符串。
    REPLACE (, , ) 用string_expression3 替换在string_expression1 中的子串string_expression2。
    4、SPACE()
    返回一个有指定长度的空白字符串。
    SPACE () 如果integer_expression 值为负值,则返回NULL 。
    5、STUFF()
    用另一子串替换字符串指定位置、长度的子串。
    STUFF (, , ,)
    如果起始位置为负或长度值为负,或者起始位置大于character_expression1 的长度,则返回NULL 值。
    如果length 长度大于character_expression1 中 start_ position 以右的长度,则character_expression1 只保留首字符。

     

    六、数据类型转换函数
    1、CAST()
    CAST ( AS [ length ])
    2、CONVERT()
    CONVERT ([ length ], [, style])
    1)data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。
    2)length用于指定数据的长度,缺省值为30。
    3)把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号或负号的数值。
    4)TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。
    5)IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。
    6)把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。
    7)BIT类型的转换把非零值转换为1,并仍以BIT类型存储。
    8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
    9)用CONVERT() 函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。

     

     

    七、日期函数
    1、day(date_expression)
    返回date_expression中的日期值
    2、month(date_expression)
    返回date_expression中的月份值
    3、year(date_expression)
    返回date_expression中的年份值
    4、DATEADD()
    DATEADD (, , )
    返回指定日期date 加上指定的额外日期间隔number 产生的新日期。参数“datepart” 取值如下:

     

    5、DATEDIFF()
    DATEDIFF (, , )
    返回两个指定日期在datepart 方面的不同之处,即date2 超过date1的差距值,其结果值是一个带有正负号的整数值。
    6、DATENAME()
    DATENAME (, )
    以字符串的形式返回日期的指定部分此部分。由datepart 来指定。
    7、DATEPART()
    DATEPART (, )
    以整数值的形式返回日期的指定部分。此部分由datepart 来指定。
    DATEPART (dd, date) 等同于DAY (date)
    DATEPART (mm, date) 等同于MONTH (date)
    DATEPART (yy, date) 等同于YEAR (date)
    8、GETDATE()
    以DATETIME 的缺省格式返回系统当前的日期和时间

    3/15/2009

    [转]关于"以前的某个程序安装已在安装计算机上创建挂起的文件操作"的解决办法

    以前装过sql server,后来删掉。现在重装,却出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误。无法进行下去。

    参考网上资料,总算搞定。步骤是:

    1)添加/删除程序中彻底删除sql server。

    2)将没有删除的sql server目录也删除掉。

    3)打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目。

    4)删除注册表中跟sql server相关的键。

    其实估计只要做第3步就可以搞定,这样就可以清除安装暂挂项目。自己是先走了1,2,4,最后做了3才搞定。所以估计3才是最关键的。

    3/13/2009

    [转]怎样在理想价位卖出股票

    买对股票只完成投资过程的一半或更少,接下来就是跟踪股票,并在股价大幅上涨之后卖掉股票,所以如何卖股票同样至关重要。俗话说:会买是银,会卖是金。如果买了好的股票,未能选择好的卖出时机,将会给股票投资带来诸多遗憾。

      "赌徒谬误"和"处置效应"卖股票是最难的事,从某种程度上讲,何时卖股票甚至比何时买股票、买何种股票更难,而且更重要。买者一旦买了一种股票,他就要决定是持有还是卖出。实战的结果很酷,投资者正确卖出股票的概率很低。究其根源,这种结果起因于心理学上的"赌徒谬误"和"处置效应"。

      如果你在一轮掷骰子中已掷出五次两点,你下次再掷出两点的机会就要小于1/6了。这种说法对不对呢?如果你对这个问题回答说"对",你就陷入了所谓"赌徒谬误"之中。在掷骰子时,每次掷出的点数和以前掷出的点数是完全无关的。

      "赌徒谬误"是说当一个赌徒看到连续抛出的10次正面硬币之后,他将倾向于相信下一次将抛出反面硬币。

      "赌徒谬误"

      发生的根本原因在于参与者的启发式思维:人们倾向于认为如果一件事总是连续出现一种结果,则很可能会出现不同的结果来将其"平均"一下。

      在股票市场上,"赌徒谬误"主要表现为投资者在股价上涨时,急于抛出股票,实现资本增值,股价下跌时,则不会及时止损,而是继续持有,避免实现资本亏损,并且期待着股价会反弹,而且连跌股票的持有时间要显著高于连涨股票,即"跌得越多,投资者越是持有"。

      "处置效应"

      即投资者对盈利和亏损的股票的不同处置行为。投资者往往将盈利的股票尽快兑现,将亏损的股票拖拉不卖。结果会形成这样的局面:公司业绩优良本来可以上升幅度更大的股票因为众多投资者的抛售,而压抑了其升幅,而一些业绩差行情无法回到历史高位的股票却因为散户投资者的集体拖拉不卖,而延长了缓慢下跌的过程。

      卖股方法那么怎样尽量减少投资中的"处置效应"与"赌徒谬误",在最理想的位置卖出股票呢?以下是几种在实战中被证明较为有效的方法:

      本利分离操作法所谓"本利分离",是指把最初投入股票的本金和后来赢取的利润区别对待。具体来说,就是把本金用作短线投资,去追逐那些强势股,而利润则用作长线投资,投放到绩优股上。这样做的好处是,本金可以及时出手获利,风险小;利润用作长线投资,心理负担轻,可以静待股价向有利位置发展。

      定点了结法股价波动常常出现各种让投资者大跌眼镜的情况,对此,一种使人少伤脑筋的卖法就是"定点了结",即股价升到某一点时便抛出所持股票。当然,这个点不是盲目确定而是根据自己所掌握的情况,进行盈利对比和发展势头等分析工作后确定的。比如,有位投资者在2007年4月20日在18元价位买入深万科,定点获利幅度为5~6元,一旦股价涨到了23~24元,那么不论有再多的利多消息,也就即行了结。那么他就应该在5月14日坚决卖出,由此成功地回避一次暴跌行情。

      止损了结法这种操作方法是将所持股票在股价回落到一定点时了结,以停止损失。比如投资者确定,不管股价将来如何上涨,只要在现在的价位基础上回跌2元就马上抛出。这种方法对中小股是很实用的,让出了小利,却解决了无法把握股市涨跌的问题。

      分批了结法简单地说,就是不一次卖掉手中所有股票,而是分批逐渐卖出。这种方法可以看作在投资者自己判断力较弱时,对定点了结法的补充。"分批了结法"主要分为"定量分批了结法"和"倒金字塔出货法"。如果持有某种股票1.2万股,成本是每股12元,预定初卖点是18元,一批卖3000股,以后每涨2元卖一批,这样就是20元卖3000股,22元卖3000股,直卖到24元。这是"定量分批了结法"。"倒金字塔出货法"则是每批出手的股票数量由小而大、呈倒金字塔形。显然,采用"倒金字塔出货法",获利可能较前者更大,但所承担的风险也相应更大。

      因时制宜法不同时期卖股票有不同的卖出方法。在跌市初期,如果个股股价下跌得不深、套牢尚不深的时候,应该立即斩仓卖出。这种时候考验投资者能否当机立断,是否具有果断的心理素质。只有及时果断地卖出,才能防止损失进一步扩大。在股价经历深幅快速下跌后,再恐慌地跌止损,所起的作用就有限了,这时股市极易出现反弹行情,可以把握好股价运行的节奏,趁大盘反弹时卖出。在大势持续疲软的市场上,见异常走势时坚决卖出。如果所持有的个股出现异常走势,意味着该股未来可能有较大的跌幅。例如在尾盘异常拉高的个股,要果断卖出。越是采用尾盘拉高的动作,越是说明主力资金已经到了无力护盘的地步。当股市下跌到某一阶段性底部时,可以采用补仓卖出法,因为这时股价离自己的买价相去甚远,如果强行卖出,损失往往会较大。可适当补仓以降低成本,等待行情回暖时再逢高卖出。这种卖出法适合于跌市已近尾声时。

      从心理角度说,卖股票永远是一件让人痛苦的事情。当股价已经大幅上升的时候,觉得还能赚得更多,如果卖了就没有获取更高利润的机会了。而当股票下跌甚至亏损比较严重的时候,卖出更是让人难受,卖出后就不再是数字的变化,而是实实在在的亏损。但是现在舍不得卖出,哪里还有资本再搏别的投资机会呢?现在的卖出正是为了去寻求更好的盈利,避免更大的亏损。当卖出时机来临的时候,就要坚决卖出。不求卖得多么高明,多么有艺术,只求卖得正确,卖得及时!
    3/12/2009

    [转]日立硬盘SATA1和SATA2跳线设置方法

    日立硬盘这点比较麻烦,没有跳线,0得用日立的FT软件改成SATA1模式就可以用了。
    上网下Feature Tool,找个能认出SATA2的机器,在那机器上用Feature Tool把硬盘模式改成SATA1就可以在你的主板上用了

    网络天使 2008-6-20 14:53

      我们知道,大多数品牌的SATA2硬盘上都设计了一个跳线,只要设置正确就可以启用SATA2或者SATA1工作模式。不过,日立硬盘必须使用相关的软件,才能开启SATA2模式与SATA1模式。具体解决过程如下:
      第一步:登录日立硬盘官方网站([url=http://www.hitachigst.com/hdd/support/download.htm]http://www.hitachigst.com/hdd/support/download.htm[/url]),下载一个名为Feature Tools的工具软件(最新版本为2.09)。
      注:升级过程必须在DOS下完成,因此必须准备一台刻录机和一张空白CD-R盘片,或者使用软盘和软驱。如果没有这些设备,则可以用vFloppy这款虚拟软盘程序来代替。
      第二步:启动Feature Tools后,在菜单“Selected Driver”中选择日立硬盘,然后按下“Alt+F”键,打开菜单栏上的“Features”菜单,选择“Change SATA Settings”,在弹出的对话框中将“Max Transfer Speed”(最大传输速度)设置为“Up to 3.0Gb/s”即可,想设置成SATA1模式就选择“Up to 1.5Gb/s”即可.
      第三步:完成设置后,软件会提示重新启动系统。但这时用“Ctrl+Alt+Del”组合键启动是无效的,应该按Power键关闭主机电源,再重新启动,这样才能使设置生效。
      经过上述操作后,日立硬盘才真正工作在自己所设置的模式下了。这里要注意的是,如果主板不支持SATA2模式,那么开启日立硬盘的SATA2模式与SATA1模式将不成功,很可能导致主板无法识别硬盘,切记!