Archive for 10月, 2006

WinXP下装SQL2000企业版

星期六, 10月 28th, 2006

一.在SQL服务器的安装盘中找到MSDE这个目录,并且点击setup.exe安装它,过程简单直接下一步就OK了。

二. 重启系统WINDOWSXP,这下就可以看到SQL服务的图标出现了。

三. 再拿出SQL服务器版的安装光盘,直接安装客户端工具(这个不要多说吧?最简单的方法就是直接点击光盘根目录下的autorun.exe)

根据提示安装,自检过程中知道系统不是SERVER版,会提示只安装客户端工具。(哈哈,服务端我已有了)

 四. 打开企业管理器,试用SA用户连一下看看,是不是发现SA用户登陆失败?因为你还没有与信任SQL SERVER连接相关联。还好这个只要

对系统注册表稍加修改就可以啦:

在运行中输入regedit打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER],这个项里面

有一个键值LoginMode,默认下,值是1,现在将值改为2,重启电脑。

五. 再打开企业管理,再连接试试,是不是OK了!

出自:http://www.bluecode.cn/blogview.asp?logID=4

ORACLE连接远程数据库

星期五, 10月 20th, 2006

在…\network\admin\tnsnames.ora添加远程数据库的连接

  test =
   (DESCRIPTION=
    (ADDRESS_LIST=
     (ADDRESS=(PROTOCOL=TCP)(HOST=ip)(PORT=1521))
     )
    (CONNECT_DATA=(SERVICE_NAME=orcl)
    )
   )

然后直接在程序中指定Data Source=test ;

WIN2003下访问ORACLE8.1.7提示错误:未找到提供程序。该程序可能未正确安装。

星期三, 10月 18th, 2006

原因
当 Microsoft Oracle OLE DB Provider登记事务时,该 Provider 必须访问下列注册表项:
HKLM\SOFTWARE\Microsoft\MSDTC\MTxOCI(Windows 2000 或 Windows XP)

HKLM\SOFTWARE\Microsoft\Transaction Server\Local Computer\My Computer(Windows NT 4.0)

运行 Web 服务的用户对于这些注册表项没有访问权限,从而对于安装 Oracle 的目录没有足够权限。
解决方案
若要解决此问题,请确保运行该 Web 服务的用户对于这些注册表项具有访问权限并且能够访问安装 Oracle 的

解决方法:

(1) web服务器和数据库服务器在同一台机器上,采用oracle8.15,或0racle.8.17不会出现问题。
(2)
  步骤1.
  regedt23进入注册表设置权限
  HKLM\SOFTWARE\Microsoft\MSDTC\MTxOCI(Windows 2000 或 Windows XP)
  添加用户IUSR_Machine(Internet 来宾帐户)和IWAM_Machine(启动 IIS 进程帐户) 设置全部权限。

  步骤2. 找到oracle的安装目录d:\oracle\ora92
  添加 IUSR_Machine(Internet 来宾帐户)和IWAM_Machine(启动 IIS 进程帐户)
  并设置他的访问权限.并运用的下面的所有文件夹及文件。
 
  步骤3.重新启动机器,就ok了。
 
  不过按照上面的做法,采用:Provider=OraOLEDB.Oracle.1; 接口一定没有问题,
  但是采用:Provider=MSDAORA.1; 可能会出现错误!
  出错信息:dllhost.exe出现错误 或其他错误!

如果web服务器和数据库服务器不同机器上,可以服务器装oracle8.i的客户端,没有问题。装oracle9.i的客户端,解决方法同上面所提示。

ASP中实现3DES加密,解密的方法

星期二, 10月 10th, 2006

遇到个问题,需要做个ASP上的3DES的加密,解密程序,可总是有错误,后来勉强的凑出个办法解决了,不过还显得太麻烦了,
已经过了很久,仍然要翻出来贴一下.
由于直接在ASP中,写这类脚本实在是麻烦,而且也没有找到什么适合的组件,所以改调用了ASP.NET中的功能,
System.Security和System.Security.Cryptography两个类中有直接可以使用的3DES的功能,比较方便,可以在WEB上,直接的在
ASP和ASP.NET中间转换使用.从而达到效果.
注意:如果要在WEB间传递字符的话,记得要加入URLEncode功能,否则可能会出现错误,字符无法读取的问题.
 

Encrypt__加密
@ Import Namespace=”System”
@ Import Namespace=”System.Security”
@ Import Namespace=”System.Security.Cryptography”
@ Import Namespace=”System.io”
@ Import Namespace=”System.text”
@ Import Namespace=”System.Threading”
‘密钥
const t_Key = “p3nfFnyuRdnHPizW75K2a6d53xZ8rkXZ”
‘矢量
const t_IV = “”
Dim str as string
‘获得需要加密的字符串
str=Request(Trim(”str”))

Dim byt As Byte()
Dim Mcsp As System.Security.Cryptography.SymmetricAlgorithm =System.Security.Cryptography.TripleDESCryptoServiceProvider.Create
Mcsp.Key = Convert.FromBase64String(T_key)
Mcsp.IV = Convert.FromBase64String(T_iv)

‘指定加密的运算模式
Mcsp.Mode = System.Security.Cryptography.CipherMode.ECB
Dim ct As System.Security.Cryptography.ICryptoTransform
Dim ms As System.IO.MemoryStream
Dim cs As System.Security.Cryptography.CryptoStream

‘获取或设置加密算法的填充模式
Mcsp.Padding = System.Security.Cryptography.PaddingMode.PKCS7
ct = Mcsp.CreateEncryptor(Mcsp.Key, Mcsp.IV)
byt = System.Text.Encoding.UTF8.GetBytes(str)
ms = New System.IO.MemoryStream()
cs = New System.Security.Cryptography.CryptoStream(ms, ct, System.Security.Cryptography.CryptoStreamMode.Write)
cs.Write(byt, 0, byt.Length)
cs.FlushFinalBlock()
cs.Close()

‘得到的Encodestr就是已经加密完成的字符串,
Encodestr= Convert.ToBase64String(ms.ToArray())

Decrypt__解密
@ Import Namespace=”System”
@ Import Namespace=”System.Security”
@ Import Namespace=”System.Security.Cryptography”
@ Import Namespace=”System.io”
@ Import Namespace=”System.text”
@ Import Namespace=”System.Threading”

‘密钥
const t_Key = “p3nfFnyuRdnHPizW75K2a6d53xZ8rkXZ”
‘矢量
const t_IV = “”
Dim str as string
str=Request(”Encodestr”)
Dim byt As Byte()
Dim Mcsp As System.Security.Cryptography.SymmetricAlgorithm =System.Security.Cryptography.TripleDESCryptoServiceProvider.Create
‘已经附带了Base64的解密功能
Mcsp.Key = Convert.FromBase64String(T_key)
Mcsp.IV = Convert.FromBase64String(T_iv)

‘指定加密的运算模式
Dim ct2 As System.Security.Cryptography.ICryptoTransform
Dim ms2 As System.IO.MemoryStream
Dim cs2 As System.Security.Cryptography.CryptoStream
MCSP.Mode = System.Security.Cryptography.CipherMode.ECB

‘获取或设置加密算法的填充模式
Mcsp.Padding = System.Security.Cryptography.PaddingMode.PKCS7
ct2 = MCSP.CreateDecryptor(MCSP.Key, MCSP.IV)
byt = Convert.FromBase64String(str)
ms2 = new System.IO.MemoryStream()
cs2 = new System.Security.Cryptography.CryptoStream(ms2, ct2, System.Security.Cryptography.CryptoStreamMode.Write)
cs2.Write(byt, 0, byt.Length)
cs2.FlushFinalBlock()
cs2.Close()
‘Decodestr得出解密的字符串
Decodestr = System.Text.Encoding.UTF8.GetString(ms2.ToArray())

出自:http://richardf.spaces.live.com/blog/cns!8b8347dad5bfe57!464.entry