MSSQL网页设计小YSQL ServerB接掉″e`及解Q
BlackHole黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继server在利用SQLServer的^程中,用粲龅降淖疃嗟}莫^於B接掉×恕R话愣裕幸韵煞NB接SQLServer的体例,一是使用SQLServer自的客舳斯ぞ撸缙I办理器、查剖析器、事仗讲槠鞯龋欢抢糜糇约洪_l的客舳顺淌剑ASP_本、VB程式等,客舳顺淌街杏质抢ODBC大概OLEDB等B接SQLServer。上面,我⒕瓦@煞NB接体例,具w怎样斫QB接掉〉}。1、客舳斯ぞ哌B接掉
在利用SQLServer自的客舳斯ぞ撸ㄒ云I办理器槔┻B接SQLServerr,最常的e`有以下一些:
1、SQLServer不存在或L被拒^
ConnectionOpen(Connect())
2、用sa登掉 T颍何磁c信托SQLServerB接相P。
3、超r已^期。
上面我顺次介B怎样斫Q@三最常的B接e`。
第一e`"SQLServer不存在或L被拒^"一般是最}s的,e`l生的缘故原由比^多,必要z查的方面也比^多。一样平常f恚幸韵N大概性:
1、SQLServer名Q或IP地点拼有`;
2、伺服器端W路设置有`;
3、客舳司W路设置有`。
要解Q@},我一样平常要遵守以下的步E硪徊讲秸页е洛e`的缘故原由。
起首,z查W路物理B接:
ping<伺服器IP地点>
大概
ping<伺服器名Q>
假如ping<伺服器IP地点>掉。f明物理B接有},@r候要z查硬wO洌缇W卡、HUB、路由器等。有一N多是由於客舳撕退欧髦g安b有防火w酿成的,好比ISAServer。防火w大概谡ping、telnet等的虼嗽z查B接}的r候,我要先把防火wrP],大概打_一切被封]的端口。
假如ping<伺服器IP地点>乐成而ping<伺服器名Q>掉。tf明名字剖析有},@r候要z查DNS服帐欠裾!Sr候客舳撕退欧鞑辉谕局域WY面,@r候极可能o法间接利用伺服器名Q俗R伺服器,@r候我可使用HOSTS文件磉M行名字剖析,具w的办法是:
1、利用事本打_HOSTS文件(一样平常情r下位於C:WINNTsystem32driversetc).
www.ckuyun.com
2、增加一lIP地点c伺服器名Q的,如:
172.168.10.24myserver
也能够在SQLServer的客舳司W路用工具Y面M行设置,後面性f明。
其次,利用telnet命令z查SQLServer伺服器事情B:
telnet<伺服器IP地点>1433
假如命令绦谐晒Γ梢钥吹轿幕一W之後游嗽谧笊辖遣煌iW樱@f明SQLServer伺服器事情一般,K且正在O1433端口的TCP/IPB接;假如命令前往"o法打_B接"的e`Y,tf明伺服器端]有SQLServer服眨部赡芩欧鞫]⒂TCP/IPfh,大概伺服器端]有在SQLServer默J的端口1433上O。
接著,我要到伺服器上z查伺服器真个W路设置,z查是不是⒂昧嗣艿溃欠⒂昧TCP/IPfh等等。我能够使用SQLServer自的伺服器W路利用工具磉M行z查。
c簦撼淌->MicrosoftSQLServer->伺服器W路利用工具,打_工具後看到的面以下D所示:
@e我能够看到伺服器⒂昧四男fh。一样平常而言,我⒂妹艿酪约TCP/IPfh。
c中TCP/IPfh,x"傩",我能够z查SQKServer服漳J端口的O置,以下D所示:
一样平常而言,我利用SQLServer默J的1433端口。假如x中"[躲伺服器",t意味著客舳o法通^枚e伺服器砜吹竭@_伺服器,起到了保o的感化,但不影B接。
z查完了伺服器真个W路设置,接下砦要到客舳z查客舳说木W路设置。我同涌梢岳SQLServer自的客舳司W路利用工具磉M行z查,所分歧的是@次是在客舳磉行@工具。
c簦撼淌->MicrosoftSQLServer->客舳司W路利用工具,打_工具後看到的面以下D所示:
@e我能够看到客舳⒂昧四男fh。一样平常而言,我同有枰⒂妹艿酪约TCP/IPfh。
cTCP/IPfh,x"傩",能够z查客舳四JB接端口的O置,以下D所示。
端口必c伺服器分歧。
"e名"x卡,能够樗欧髋渲e名。伺服器的e名是用磉B接的名Q,B接抵械乃欧魇钦嬲乃欧髅Q,烧呖梢韵嗤虿煌H缦D中,我可使用myserver泶嬲嬲乃欧髅Qsql2kcn-02,K且利用W路NamedPipes。e名的O置c利用HOSTS文件有类似之
通^以上方面的z查,e`1l生的缘故原由基础上能够被扫除。上面我再形貌怎样斫Qe`2。
用L在查剖析器Y面利用sa磉B接SQLServer,大概在企I办理器Y面利用sa硇陆ㄒSQLServer]r,常龅饺D2所示的e`Y。e`a生的缘故原由是由於SQLServer利用了"HWindows"的身份C体例,因而用o法利用SQLServer的登簦ㄈsa)M行B接。解Q办法以下所示:
1、在伺服器端利用企I办理器,K且x"利用Windows身份C"B接上SQLServer;
2、展_"SQLServerM",滑鼠右IcSQLServer伺服器的名Q,x"傩",再x"平安性"x卡;
3、在"身份C"下,x"SQLServer和Windows"。
4、从头SQLServer服铡
在以上解Q办法中,假如在第1步中利用"利用Windows身份C"B接SQLServer掉。屈N我⒂龅揭呻y的地步:起首,伺服器只允S了Windows的身份C;其次,即便利用了Windows身份C仍旧o法B接上伺服器。@N情况被抽象地Q之"本人把本人i在了T外",因o用何N体例,用艟o法利用M行B接。H上,我能够通^修正一]员礞I值⑸矸蒡C体例改SQLServer和Windows夹杂C,步E以下所示:
1、c"_始"-"行",进regedit,回M进]员砭器;
2、顺次展_]员眄,g[到以下]员礞I:
3、在幕右方找到名Q"LoginMode",p艟p字值;
4、⒃1改2,c"_定";
5、P]]员砭器;
6、从头SQLServer服铡
此r,用艨梢猿晒Φ厥褂sa在企I办理器中新建SQLServer]裕侨匀o法利用Windows身份C形式磉B接SQLServer。@是因樵SQLServer中出缺省的登簦BUILTINAdministrators和<C器名>Administrator被h除。要恢@簦梢允褂靡韵碌姆椒ǎ
1、打_企I办理器,展_伺服器M,然後展_伺服器;
2、展_"平安性",右"登",然後"新建登";
3、在"名Q"框中,进BUILTINAdministrators;
4、在"伺服器脚色"x卡中,x"SystemAdministrators";
5、c"_定"加入;
6、利用同臃椒ㄌ砑<C器名>Administrator登。
以下]员礞I
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServerLoginMode
的值Q定了SQLServer袢『畏N身份C形式。值1,暗示利用Windows身份C形式;值2,暗示利用夹杂形式(Windows身份C和SQLServer身份C)。
看完怎样解Q前e`的办法之後,我砜匆幌氯D3所示的第三e`。
假如碰到第三e`,一样平常而言暗示客舳艘呀找到了@_伺服器,K且能够M行B接,不^是由於B接的rg年夜於允S的rg而е鲁鲥e。@N情r一样平常l生在用粼Internet上行企I办理器碓]粤硗庖惶ㄍ釉Internet上的伺服器,K且是慢速B接r,有大概е乱陨系某re`。有些情r下,由於局域W的W路},也е逻@拥腻e`。
要解Q@拥腻e`,能够修正客舳说倪B接超rO置。默J情r下,通^企I办理器]粤硗庖惶SQLServer的超rO置是4秒,而查剖析器是15秒(@也是槭颤N在企I办理器Yl生e`的大概性比^年夜的缘故原由)。具w步E椋
1、在企I办理器中,x窆δ鼙砩系"工具",再x"x";
2、在出的"SQLServer企I办理器傩"窗口中,c"高"x卡;
3、在"B接O置"下的"登超r(秒)"右的框中进一比^年夜的底郑20。
查剖析器中也能够在同游恢眠M行O置。
2、贸淌竭B接掉
以上的三Ne`Y都是l生在SQLServer自的客舳斯ぞ咧校贸淌街形也龅筋似的e`Y,比方:
MicrosoftOLEDBProviderforSQLServer(0x80004005)
SpecifiedSQLservernotfound.
MicrosoftOLEDBProviderforSQLServer(0x80004005)
用sa登掉 T:未c信托SQLServerB接相P。
MicrosoftOLEDBProviderforODBCDriverse`80004005.
超r已^期.
起首,我碓看以下的表示D砹私庖幌率褂ODBC和利用OLEDBB接SQLServer有什N分歧之
上D中,我能够看出在H利用中,贸淌建和利用各NADOο螅ADOο罂蚣苷{用享用的OLEDB供应者。榱嗽LSQLServer,OLEDB供应了煞N分歧的办法:用於SQLServer的OLEDB供应者和用於ODBC的OLEDB供应者。@煞N分歧的办法煞N分歧的B接字符串,实倪B接字符串法以下所示:
1、利用用於SQLServer的OLEDB供应者:
利用SQLServer身份C:
oConn.Open"Provider=sqloledb;"&_
"DataSource=myServerName;"&_
"InitialCatalog=myDatabaseName;"&_
"UserId=myUsername;"&_
"Password=myPassword"
利用Windows身份C(信托B接):
oConn.Open"Provider=sqloledb;"&_
"DataSource=myServerName;"&_
"InitialCatalog=myDatabaseName;"&_
"IntegratedSecurity=SSPI"
2、利用用於ODBC的OLEDB供应者(不利用ODBC矗
利用SQLServer身份C:
oConn.Open"Driver={SQLServer};"&_
"Server=MyServerName;"&_
"Database=myDatabaseName;"&_
"Uid=myUsername;"&_
"Pwd=myPassword"
利用Windows身份C(信托B接):
oConn.Open"Driver={SQLServer};"&_
"Server=MyServerName;"&_
"Database=myDatabaseName;"&_
"Trusted_Connection=yes"
3、利用用於ODBC的OLEDB供应者(利用ODBC矗
oConn.Open"DSN=mySystemDSN;"&_
"Uid=myUsername;"&_
"Pwd=myPassword"
假如碰到B接掉〉那r,我只需依照一中所示的办法,Y合程式中的B接字符串M行z查,基础都能失掉解Q。别的,有以下要注重的中央:
1、设置ODBCr,c"客舳"设置x能够我指定B接利用的W路、端口等傩裕缦D所示:
2、假如碰到B接超r的e`,我能够在程式中修正Connectionο蟮某rO置,再打_B接。比方:
<%
SetConn=Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={SQLServer};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"
Conn.Properties("ConnectTimeout")=15以秒挝
Conn.openDSNtest
%>
3、假如碰到查超r的e`,我能够在程式中修正Recordsetο蟮某rO置,再打_Y果集。比方:
DimcnAsNewADODB.Connection
DimrsAsADODB.Recordset
...
cmd1=txtQuery.Text
Setrs=NewADODB.Recordset
rs.Properties("CommandTimeOut")=300
同右悦挝唬绻O置0暗示o限定
rs.Opencmd1,cn
rs.MoveFirst
...
3、小Y
本文Υ蟛糠钟粼谑褂SQLServer^程中常的B接掉〉腻e`,重c了在利用SQLServer客舳斯ぞ咭约坝糸_l的贸淌煞N情r下,怎样K解QB接掉〉腻e`。看^本文以後,信任每x者都SQLServer的B接事情道理、身份C体例和贸淌介_l等有一^槿娑钊氲倪B接。本文中一切的y大概示例均在Windows2000AdvancedServer+SQLServer2000企I版上通^。
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失 having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。 如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。 微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。 而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~ varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。 这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。 其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?! 分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
页:
[1]