October 17th, 2006 by lidecheng
1、把下载好的“DotNetNuke_4.3.3_Install.zip”解压至IIS定义的网站主目录下。
2、由于DotNetNuke默认的数据库是Access数据库,而我们需要的是SQL下的数据库,所以要对web.config做一下修改,具体是在大约21-33行的位置有以下代码:
修改为:
<connectionstrings>
<!-- Connection String for SQL Server 2005 Express -->
<add name="SiteSqlServer">
</add> connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"
providerName="System.Data.SqlClient" />
<!-- Connection String for SQL Server 2000/2005
<add
</add> </add> </add> name="SiteSqlServer"
connectionString="Server=(local);Database=DotNetNuke;uid=;pwd=;"
providerName="System.Data.SqlClient" />
-->
</connectionstrings>
connectionString="Server=(local);Database=DotNetNuke;uid=;pwd=;"
providerName="System.Data.SqlClient" />
就是注释掉了以Access安装的配置(默认注释掉的是SQL数据库安装配置)
并修改connectionString="Server=(local);Database=DotNetNuke;uid=;pwd=;" 填上你自己的数据库用户名和密码
然后运行http://localhost/Install/Install.aspx DDN就会在你的数据库中建立数据和存储过程。
这样DDN就安装完成了,下一步是安装简体中文语言包
找到登录链接,在登录页面输入 用户名:host 密码:ddnhost
进入菜单host->language,在language上的下拉框中找到Upload Language Pack
进入到语言包上传页面,浏览 选择你下载的中文语言包ResourcePack.zh-CN.zip,点击 浏览 右边的 Add ,你会在下面的文本框里看到ResourcePack.zh-CN.zip,再点击侧文本框下面的Upload New File ,开始执行语言包的安装过程。
5、在Admin的下拉菜单中找到Site Settings 点击进入Site Settings 页面
找到 Advanced Settings 点加号 找Other Settings 点加号 找Default Language: 在下拉列表中选择 中文(简体)中华人民共和国 下一行Portal TimeZone: 设为 (UTC+8)Beijing,Chongqin,Hong kong,Urumqi
改完了 点击下面的UPDATE!
最后在搜索后面的下拉表中选择中文就完成了DDN的本地化
October 17th, 2006 by lidecheng
在开始浏览PHP配置文件之前,值得注意的是PHP配置文件的内部结构化。这个文件叫php.ini,它和许多Windows应用程序中广泛使用的INI文件具有相同的结构。php.ini是一个ASCLL文本文件,其分为多个部分,每一部分包括相关的参数,如下所示:
[MySection]
variable="value"
anothervariable="anothervalue
每一部分的名称位于最前面的方括号内,接着是名称对数字,每一名称对占单独一行。因为用规则PHP代码,参数名称非常敏感,不能包含有空格.但是参数值可以是数字,字符串或者布尔逻辑数。
分号位于每一行的开始,其作为指定标记。这就使它很容易使用或者不使用PHP的这些特性;而无需通过删除该行而实现.你可以对其进行注解,由此该行不会编译。如果你想在以后数据库中再次使用这一特性,这是非常方便,你不需要将其从文件中删除。
为了获得PHP的识别,php.ini文件必须放置在当前目录下,而这一目录是在$PHPRC环境参数中定义,或者是在编译时间内指定的目录(对于Windows PHP,就是首要Windows目录)。
通过php.ini文件对PHP格式做出改变之后,你将需要重新启动Web服务器,以便你的改变生效(当然,这是假定你正在通过Web服务器使用PHP的情况)。对于使用PHP的命令行情况,每调入一个PHP二进制程序,配置文件就会被读入一次。
设置解析器选项
在这一过程中,第一步是最为重要的一步,即与语言解释程序相关的选项。这里首要选项为引擎参数,其控制PHP服务器为“On”或者为“Off”。关闭服务器表示嵌入的PHP代码不会被Web服务器解析。然而通常将服务器保持“On”状态。
engine = On
short_open_tag参数控制语法分析器是否识别快捷键< ?...?>,类似于识别标准键< ?php...?>。如果这一参数与其它语言发生冲突,或者如果你想在PHP代码中使用严格语法规则,就关闭该参数。
short_open_tag = On
通常情况下,在任何由程序产生输出之前,Cookie或者HTTP数据必须被发送。如果在程序中无法实现这些,你可以通过使用输出缓冲器(output_buffering)参数,使PHP调用输出缓冲器生效。
通过输出缓冲器为“On”状态,PHP将程序输出存储在一个专门的记忆缓冲器,且在明确指定发送的时间段发送。这就允许你在编写程序过程或者是快要结束的时候,发送特殊的HIIP标题和重要数据,但是,它也会下降一些重要的功能。
output_buffering = Off
你也可以通过output_buffering参数值指明缓冲器大小,例如:
output_buffering = 2048
当PHP启动时,它添加一条有关版本号的信息到Web服务器的标准标题框。为了关闭这一特性,可以设定expose_php为false。这是非常有用,例如,你可以防止黑客而把你的网页服务器容量隐藏起来。
expose_php = On
现在让我们来看看怎样设置搜索路径和捕捉错误。
设置PHP搜索路径
你可以使用include_path参数设置PHP的搜索路径,这一参数可以接收系列的目录。当PHP遇到没有路径的文件提示时,它将会自动检测这些目录。
如果你频繁使用函数库或者类时,可以列出它们当前位置以简化文件的查找。这也是增加路径到PHP的PEAR目录的一个好方法,PEAR目录中包含许多可以重复使用的类。
include_path = ".:/usr/local/lib/php/pear:"
Windows用户可以通过分号指定多个位置,而UNIX用户必须用冒号隔开。
对于这一小节内容,最好的两个参数是auto_prepend_file和auto_append_file。这些参数指定了一些文件,而这些文件在PHP启动和结束时自动设置数据文件的搜索路径。这一特性大多数用于设置PHP运行中页面的标题和页角的搜索路径,这就使得你可以在编写的每个PHP文件中省去几行代码。但是不足的是,指定的文件将会被添加*all* PHP文档,因此,这些参数最适合于单一程序的服务器。
这些文件既可以是PHP程序,也可以是HTML文件。嵌入的PHP代码必须用标准的< ?php...?标签包括:
auto_prepend_file = /home/web/includes/header.php
auto_append_file = /home/web/includes/legal.php
捕捉错误
PHP错误分成四类:分析错误,代码错误通知(比如没有初始化的参数),警告(不是很严重的错误),以及严重错误。一般来说,PHP遇到分析错误,或者一般错误,或者是一个非常致命的错误,它就显示错误。如果错误非常严重,它就有可能停止程序处理。你可以用error_reporting参数改变这一特性,此参数可以识别一些错误代码,而且可以显示对应错误的程序代码。
error_reporting = E_ALL
为了关闭错误的显示,可以设置display_errors参数为false。相反,设置log_errors参数可以将错误信息写入错误日志。
从安全角度出发,关闭错误显示是有好处的。隐藏系统的详细信息,别有用意的用户就不能打开和毁坏你的网页或者程序。你应该把这些错误通过设置 error_log参数指定一个文件名,写在一个自定义日志文件中,或者通过指定特定参数“syslog”,把错误写入系统记录中。请记住,你应该有规律性的检查这些日志文件,以查看日志文件发生的变化。
display_errors = Off
log_errors = On
error_log = "error.log"
在这篇文章的第二部分,我将会更进一步谈到php.ini文件,讨论诸如以下的设置,包括:文件上传,表格解析,以受限模式运行PHP以获得更好的安全性,激发可扩展功能,设置资源的内存使用,以及使一些特性无效化以提高性能。
激活扩展选项
PHP可以使用很多不同的扩展选项。在UNIX系统中,扩展选项需要在编译时创建;而对于Windows,二进制DLL文件将随PHP发布而将自己包括进去。变量extension_dir包括了PHP应当查看相关扩展选项的目录名。
extension_dir = "C:\Program Files\Internet Tools\Apache\bin\php4\extensions"
Windows下的PHP包括了20种不同的扩展选项,并且全部都列在了php.ini文件中(通过注释)。要激活某个特定的扩展选项只需要将相应行首的分号去掉并重启服务器就可以了。如果要禁用某个扩展选项(比如在需要提升系统性能的情况下),只需要在行首重新添加分号。
如果扩展选项没有列在php.ini文件中,可以使用变量extension,然后将相应DLL文件名传递给此变量。
extension=php_domxml.dll
extension=php_dbase.dll
设置extension-specific变量
变量extension-specific被存放在配置文件中一个单独的区域。比如,所有同MySQL扩展功能相关的变量都应当存储在php.ini中的[MySQL]区域。
如果需要使用PHP的mail()函数,则需要设置以下三个变量。当通过PHP mail()函数发送电子邮件信息时需要使用SMTP以及变量sendmail_from(Windows系统)或变量sendmail_path (UNIX系统)。对于Windows,这些变量设置了所用到的SMTP服务器以及显示在电子邮件信息中的“From:”地址;而对于UNIX,变量 sendmail_path则对邮件传输设置了MTA(邮件传输代理,mail transfer agent)的路径。
SMTP = myserver.localnet.com
sendmail_From = me@localhost.com
sendmail_path = /usr/sbin/sendmail
变量java.class.path、java.home、java.library以及java.library.path全部用来设置查找 Java类以及库的路径。这些值将被Java扩展所使用,所以如果希望PHP能正确的同Java程序进行集成,则必须确保这些变量被正确的设置。
java.class.path = .\php_java.jar
java.home = c:\jdk
java.library = c:\jdk\jre\bin\hotspot\jvm.dll
java.library.path= .\
变量session.save_path指定了保存会话信息所需的临时目录。通常而言,此目录默认为/tmp,但由于在Windows系统中此默认目录并不存在,所以你必须将其重新设置为正确的Windows临时目录,否则会话处理程序将会在调用session_start()函数时弹出讨厌的出错信息。同时可以通过变量session.cookie_lifetime来控制会话cookie的有效期。
session.save_path = c:\windows\temp
session.cookie_lifetime = 1800
安全设置
在php.ini中,有很多同PHP安装的安全问题相关的变量。其中最有趣的是safe_mode变量,建议针对ISP以及共享主机服务(shared-hosting services)对其进行设置,此变量将对用户对PHP的使用范围进行限制。
safe_mode = Off
当safe mode打开的时候,可以通过变量safe_mode_include_dir指定在何目录中查找相关文件。通过将二进制程序放在特定目录并使用 safe_mode_include_dir变量将目录告之PHP,PHP将对可使用exec()命令运行PHP脚本的程序种类进行限制。在此目录中仅二进制文件可以通过exec()命令进行访问。
safe_mode_include_dir = /usr/local/lib/php/safe-include
safe_mode_exec_dir = /usr/local/lib/php/safe-bin
还可以通过变量open_basedir来限制文件操作。此变量将设置作为文件操作根(root)的目录名。此变量设置后,对于PHP来说,存放在此目录树以外的文件将无法访问。这对于在共享系统中将用户限制在各自的home或者Web目录是一种很好的方法。
open_basedir = /home/web/
变量max_execution_time设置了在强制终止脚本前PHP等待脚本执行完毕的时间,此时间以秒计算。当脚本进入了一个无限循环状态时此变量非常有用。然而,当存在一个需要很长时间完成的合法活动时(例如上传大型文件),这项功能也会导致操作失败。在这样的情况下必须考虑将此变量值增加,以避免PHP在脚本正在执行某些重要过程的时候将脚本关闭。
max_execution_time = 90
刚提到了上传,现在来看看如何配置uploads变量以及form变量。
配置文件上载以及表单变量
如果我们在文章前面所讨论安全配置所提供的安全强度还不能满足你的要求,可以通过关闭文件上传或设置每次上传最大文件尺寸限制来进一步提高安全强度。以上两种功能将分别通过变量 file_uploads和upload_max_filesize来实现。通常来说,除非系统中有为接收文件而设计的应用程序(例如基于Web FTP服务的图片册),你应当设置一个相对较小的文件尺寸限制值。
file_uploads = On
upload_max_filesize = 2M
如果你对于上传文件并不关心,但在PHP应用程序中使用了大量的表单,这里有两个变量将会让你产生很大的兴趣。首先是变量 register_globals,它解决了PHP开发人员长期以来的心头之痛。在PHP 3.x中,此变量默认为On。由此当提交表单时表单变量将自动的转换成PHP变量。
在PHP 4.x中,出于安全考虑,此变量默认设置为Off。由此,表单变量将只能通过特定的$_GET以及$_POST进行访问。这也造成了很多用PHP 3.x编写的脚本在运行时出现问题,要求开发人员重写脚本并对其重新测试。比如,输入到表单域
中的值对于PHP 3.x脚本来说将可以理解为$email;而在PHP 4.x脚本中却被作为$_POST[''email'']或者$_GET[''email'']。
通常情况下可以将此变量设置为Off,这样可以对通过表单进行的脚本攻击提供更为安全的防范措施。如果需要考虑到对早期PHP 3.x脚本的兼容问题,则应当置于On。
register_globals = Off
同表单提交相关的一个变量是post_max_size,它将控制在采用POST方法进行一次表单提交中PHP所能够接收的最大数据量。似乎不大可能需要将默认的8 MB改得更大。相反,应当适当将其降到更为实际的数值。但如果希望使用PHP文件上传功能,则需要将此值改为比upload_max_filesize还要大。
post_max_size = 8M
在PHP 5中增加了max_input_time变量。此变量可以以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制。如果应用程序所运行环境处在低速链路上,则需要增加此值以适应接收数据所需的更多时间。
max_input_time = 90
性能调整
你还可以通过调整一些变量值来提升PHP解析器的性能。为了避免正在运行的脚本大量使用系统可用内存,PHP允许定义内存使用限额。通过memory_limit变量来指定单个脚本程序可以使用的最大内存容量:
memory_limit = 8M
变量memory_limit的值应当适当大于post_max_size的值。
另一项可以用于提高性能的方法是禁用变量$argc以及$argv,这两个值被用于存放在命令行中传递给应用程序的参数数量以及实际参数值。
register_argc_argv = false
类似,还可以禁用$HTTP_GET_VARS以及$HTTP_POST_VARS,因为在使用$_GET以及$_POST的今天你不大可能用到前两种方式。禁用此功能可以带来性能上的提升,但这只能通过PHP 5中的变量register_long_arrays实现。
register_long_arrays = false
函数ini_set()
最后,需要注意ini_set()函数。当PHP读取php.ini配置文件中的所有设置信息的同时,它还提供了采用ini_set()函数根据 per-script原则更改这些设置的功能。此函数接收两个参数:需要调整的配置变量名,以及变量的新值。例如,在某脚本出现时增加最大执行时间(maximum execution time):
< ?php
ini_set(''max_execution_time'', 600)
// more code
?>
这样的设置将仅仅影响被设置的脚本。一旦脚本执行完毕,该变量将自动恢复到原始值。
如果PHP应用程序运行在一个共享服务器上,你不大可能可以访问到主php.ini配置文件。这时,函数ini_set()就可以允许根据特殊要求对PHP配置做动态修改,这将会给你带来很大的方便。
建议您使用防毒无弹窗的FireFox浏览器 ,上网冲浪更安全。
有数码相机?有很多图片?使用免费的图片管理软件Picasa ,还送1G免费网络相册!
October 3rd, 2006 by lidecheng
症状
当您通过使用“servername\instancename”语法尝试连接到群集环境中的 Microsoft SQL Server 2005 或 Microsoft SQL Server 2000 命名实例时,收到以下错误消息:
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server SQL Server 不存在,或者访问被拒绝。
出现以下情况时,可能会收到此错误消息:
• SQL Server 2005 或 SQL Server 2000 安装在群集中。
• 您正在通过使用 TCP/IP 套接字连接到 SQL Server 命名实例。
• 客户端域上启用了 IPSec 策略。
• 服务器域上没有启用 IPSec 策略。
原因
此问题在连接的发现阶段出现。当源 IP 更改时,客户端上的 IPSec 策略会丢弃来自服务器的数据包。
替代方法
要变通解决此问题,必须硬编码 TCP 端口或 SQL Server 命名实例的命名管道。为此,请使用与以下某一内容类似的连接字符串:
[oledb]
; Hardcoded TCP OLE DB initstring
Provider=SQLOLEDB.1;
Integrated Security=SSPI;
Persist Security Info=False;
User ID=clientID;
Data Source=tcp:TcpIpAddress,port
[oledb]
; Hardcoded Named Pipes OLE DB initstring
Provider=SQLOLEDB.1;
Integrated Security=SSPI;
Persist Security Info=False;
User ID=clientID;
Data Source=np:\\ServerName\pipe\MSSQL$InstanceName\sql\query
状态
Microsoft 已经确认这是在“适用于”一节中列出的 Microsoft 产品中存在的问题。
更多信息
有关如何解决 SQL Server 2000 中的连接问题的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
827422 (http://support.microsoft.com/kb/827422/) 如何解决 SQL Server 2000 中的连接问题
这篇文章中的信息适用于:
• Microsoft SQL Server 2000 标准版
• Microsoft SQL 2005 Server Enterprise
• Microsoft SQL Server 2005 Standard Edition
October 3rd, 2006 by lidecheng
一."SQL Server 不存在或访问被拒绝"
这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.
一般说来,有以下几种可能性:
1,SQL Server名称或IP地址拼写有误
2,服务器端网络配置有误
3,客户端网络配置有误
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.
============= 首先,检查网络物理连接 =============
ping < 服务器IP地址/服务器名称>
如果 ping < 服务器IP地址> 不成功,说明物理连接有问题,这时候要检查
硬件设备,如网卡,HUB,路由器等.
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server.
防火墙软件可能会屏蔽对ping,telnet等的响应,因此在检查连接问题的时候,我们要先
把防火墙软件暂时关闭,或者打开所有被封闭的端口.
如果ping < 服务器IP地址> 成功而,ping < 服务器名称> 失败
则说明名字解析有问题,这时候要检查 DNS 服务是否正常.
有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名
称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,
具体的方法是:
1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).
添加一条IP地址与服务器名称的对应记录,如:
172.168.10.24 myserver
2.或在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明.
============= 其次,使用telnet命令检查SQL Server服务器工作状态 =============
telnet < 服务器IP地址> 1433
如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明SQL Server
服务器工作正常,并且正在监听1433端口的 TCP/IP 连接
如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动SQL Server服务,
也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在SQL Server默认的端口
1433上监听.
=============接着,我们要到服务器上检查服务器端的网络配置,
检查是否启用了命名管道.是否启用了TCP/IP协议等等 =============
可以利用 SQL Server 自带的服务器网络使用工具来进行检查.
点击:程序 -- Microsoft SQL Server -- 服务器网络使用工具
打开该工具后,在"常规"中可以看到服务器启用了哪些协议.
一般而言,我们启用命名管道以及 TCP/IP 协议.
点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端
口的设置.一般而言,我们使用 SQL Server默认的1433端口.如果选中"隐藏服务器",则意
味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.
============= 接下来我们要到客户端检查客户端的网络配置 =============
我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,
所不同的是这次是在客户端来运行这个工具.
点击:程序 -- Microsoft SQL Server -- 客户端网络使用工具
打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.
一般而言,我们同样需要启用命名管道以及 TCP/IP 协议.
点击TCP/IP协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与
服务器一致.
单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,
连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文
件有相似之处.
通过以上几个方面的检查,基本上可以排除第一种错误.
-------------------------------------------------------------------------
二."无法连接到服务器,用户xxx登陆失败"
该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,
因此用户无法使用SQL Server的登录帐户(如 sa )进行连接.解决方法如
下所示:
1.在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上
SQL Server
在企业管理器中
--右键你的服务器实例(就是那个有绿色图标的)
--编辑SQL Server注册属性
--选择"使用windows身份验证"
2.展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",
再选择"安全性"选项卡
3.在"身份验证"下,选择"SQL Server和 Windows ".
4.重新启动SQL Server服务.
在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接
SQL Server失败, 那就通过修改注册表来解决此问题:
1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器
2.依次展开注册表项,浏览到以下注册表键:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
3.在屏幕右方找到名称"LoginMode",双击编辑双字节值
4.将原值从1改为2,点击"确定"
5.关闭注册表编辑器
6.重新启动SQL Server服务.
此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,
但是仍然无法使用Windows身份验证模式来连接SQL Server.
这是因为在 SQL Server 中有两个缺省的登录帐户:
BUILTIN\Administrators
< 机器名>\Administrator 被删除.
要恢复这两个帐户,可以使用以下的方法:
1.打开企业管理器,展开服务器组,然后展开服务器
2.展开"安全性",右击"登录",然后单击"新建登录"
3.在"名称"框中,输入 BUILTIN\Administrators
4.在"服务器角色"选项卡中,选择"System Administrators"
5.点击"确定"退出
6.使用同样方法添加 < 机器名>\Administrator 登录.
说明:
以下注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
的值决定了SQL Server将采取何种身份验证模式.
1.表示使用"Windows 身份验证"模式
2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证).
----------------------------------------------------------------------
三.提示连接超时
如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行
连接, 不过是由于连接的时间大于允许的时间而导致出错.
这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在
Internet上的服务器, 并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,
由于局域网的网络问题,也会导致这样的错误.
要解决这样的错误,可以修改客户端的连接超时设置. 默认情况下,通过企业管理器
注册另外一台SQL Server的超时设置是4秒, 而查询分析器是15秒(这也是为什么在
企业管理器里发生错误的可能性比较大的原因).
具体步骤为:
企业管理器中的设置:
1.在企业管理器中,选择菜单上的"工具",再选择"选项"
2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡
3.在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如20.
查询分析器中的设置:
工具 -- 选项 -- 连接 -- 将登录超时设置为一个较大的数字
-----------------------------------------------------------------------
四.大部分机都用Tcp/ip才能成功,有次我发现用Named Pipes才可以?
这是因为在WINDOWS 2000以后的操作系统中,MS为解决SQL SERVER的安全问
题将TCP/IP配置为SQLSERVER的默认连接协议,你可以在CLIENT NETWORK UTILITY中看到
TCP/IP和NAME PIPE 的顺序。
你也可以在:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
看到默认的协议。
2.怎么在程序中更改Named Pipes , Tcp/ip ,其sql语句怎么写?
你可以在上面提到的注册表的位置修改:
CLIENT端:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
SERVER端:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocket
NetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00