|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。access|server|sqlserver|会见|服务器|链接|数据|数据库
Web开辟中,常常要用到Access数据库。可是因为Access是一种文件型数据库,以是没法跨服务器举行会见。经由笔者的探究,发明能够使用SQLServer的链接服务器,把地舆上分离的Access数据库整合起来,使Access数据库具有超过Web服务器群的才能。如许做,还可使Access数据库与SQLServer,乃至Oracle等收集数据库毗连起来,完成异构数据库的互连,从而实行散布式的查询、更新、命令和事件。
1、创立链接服务器,毗连当地Access数据库
创立链接服务器能够用“企业办理器”,也能够实行体系存储历程sp_addlinkedserver来完成。用体系存储历程绝对快速一些,格局为:
sp_addlinkedserver链接服务器名,产物名,Microsoft.Jet.OLEDB.4.0,Access数据库路径及文件名
指定Microsoft.Jet.OLEDB.4.0作为provider_name,指定Access数据库文件的完全路径名作为data_source。.mdb数据库文件必需驻留在当地服务器上,路径必需是服务器上的无效路径。
比方,本例创立一个名为mytest的链接服务器,对E:我的文档文件夹下名为DOS.mdb的Access数据库举行操纵,则在“SQL查询剖析器”中实行:
sp_addlinkedservermytest,Access2000,Microsoft.Jet.OLEDB.4.0,E:我的文档DOS.mdb
2、创立链接服务器登录映照
一样能够用“企业办理器”或存储历程来完成。存储历程的格局为:
sp_addlinkedsrvlogin链接服务器,false,SQLServer登录名,admin,NULL
为会见非保密的Access数据库,试图会见Access数据库的SQLServer登录应当有一个为用户Admin界说的没有暗码的登录映照,下例使得当地用户sa能够会见名为mytest的链接服务器:
sp_addlinkedsrvloginmytest,false,sa,admin,NULL
要会见保密的Access数据库,需利用注册表编纂器设置注册表,以便利用Access的准确的事情组信息文件。利用注册表编纂器向该注册表项中增加Access利用的事情组信息文件的完全路径称号:
HKEY_LOCAL_MACHINEOFTWAREMicrosoftJet4.0EnginesystemDB
设置了注册表项后,请利用sp_addlinkedsrvlogin创立从当地登录到Access登录的登录映照:
sp_addlinkedsrvloginmytest,false,sa,[AccessUser],[AccessPwd]
链接服务器和链接服务器登录映照创建终了,能够在企业办理器里举行检察。
3、链接服务器的测试
能够在“SQL查询剖析器”里对创立的链接服务器举行测试。因为Access数据库没有目次和架构称号,因而,基于Access的链接服务器中的表能够在散布式查询中利用[linked_server]...[table_name]的四部分称号举行援用。下例从名为mytest的链接服务器中检索articles表的一切行:
Select*frommytest...articles
或:Select*fromOpenQuery(mytest,Select*from.articles)
4、用代码会见链接服务器的Access数据库
只要完成用代码会见链接服务器的Access数据库,才使得链接服务器发扬了最年夜的天真性和有用性。可使用三中的测试链接服务器的代码创建存储历程,供Asp代码挪用,也能够间接在Asp代码中挪用链接服务器,以下是我经由过程测试的例子:
<%
Dimconn,sSQL,rs
conn="Provider=sqloledb;server=localhost;uid=sa;pwd=SQLSERVER;"用户sa的暗码为SQLSERVER。能够省略数据库名
onerrorresumenext
sSQL="select*frommytest...articles"
Setrs=Server.CreateObject("ADODB.Recordset")
rs.opensSQL,conn,1,1
rs.movefirst
response.writers(0)&"<br>"
iferr.number0then
response.write"取数据毛病:数据库毗连堕落,或存取数据表毛病!"
else
response.write"OK!"
endif
%>
张庆2002.10.13:58
MySQL部署迅速,因此移植过程不会导致生产中断。而且,较短的学习曲线可以让你的系统管理员迅速掌握它的运行和维护。而且,MySQL的易于维护和管理意味着目前的职员可以处理目前的工作。 |
|