首页 电脑学院 黑客教程 网站技术 网页特效 免费论文 公文写作 演讲发言 实用文档 职场指南 时尚生活 情感男女 其他资讯

您的位置:首页-> 网站技术-> 数据库开发-> 轻轻松松搞定数据库链接
轻轻松松搞定数据库链接
你能不能熟练地在UD中创建“DSN”数据链接呢,答案如果是肯定的,OK!请继续往下看,一般情况下,设置DSN在本地调试程序时是非常容易的一项操作。然而,一旦将ASP文件上传到远程服务器时,你的页面绝大多数会“罢工”!:)

目前市场上的主机服务商非常多,不同的Web主机服务商会提供不同的数据库链接途径,主要有以下5种:

服务商直接为你提供设置好的DSN。
服务商提供"Control Panel",你可以自己设置DSN 。
一些服务商要求你使用DSN less ,或者效率更高、链接速度更快的OLEDB方法。
有些服务商要求你在连接字符串使用Server.MapPath命令。
有些服务商则会告诉你使用制定的文件夹存放数据库文件(有读/写权限)。
在上传文件之前,必须确认你的空间服务商提供的是哪种数据库链接方式,否则你就会付出无谓的尝试。

如果缺乏经验的话、处理数据库的链接是非常痛苦的一件事情!但是不要惊慌,UltraDev有一套自己的方法来"定制连接字符串"。

在下面这些讲座中你会掌握以下技能:

为Access数据库创建“DSN-less”连接字符串
为Access数据库创建“ OLEDB ”连接字符串
为其他数据库定制连接字符串
在开始“定制连接字符串”的教程之前,先要建立一个站点,教程中所用到的页面很简单,包含"增加记录"/"查看记录"页面,数据库存储了一些音乐文件数据。

1/在 Access 创建如下图所示结构的表

建立“文本”或“备注”型字段时,请设置其“是否允许空字符”属性为“是”。否则、如果文本框中没有输入任何数据就提交数据时,程序将出错!







2/表名称:"music" ;数据库文件:"music1.mdb"

1/ 在桌面新建一个文件夹c1 。

2/ 复制刚才创建的数据库文件music1.mdb 到c1文件夹中. 复制C1文件夹到wwwroot 目录当中.

3/ 在 UltraDev 中定义站点,设置本地文件夹,远程文件夹……。然后在C1文件夹中新建两个文件c1_add.asp 和c1_view.asp 。



4/ 打开c1_add.asp 并插入一个简单的用来添加数据的表单:

ARTIST 文本框:  gk_artist
ALBUM 文本框:  gk_album
SOURCE 文本框:gk_source
表单:c1form. 不必担心设置Action 和Method 。


5/ 打开c1_view.asp 建立一个简单显示数据的页面如下图所示.



6/ 保存文件.


DNSLESS CUSTOM CONNECTION STRING

1/ 打开c1_add.asp .

2/ Modify > Connections. 点击按钮〖New 〗选择Custom Connection String (fig 1).

fig 1

3/ 弹出“Custom Connection String”设置窗口 (fig 2).


fig 2

4/ 确认单选按钮定位到“Using Driver On Application Server” (fig 3).
    在Connection Name文本框中输入:c1_music.
    在Connection String文本框中输入:

Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\inetpub\wwwroot\c1\music1.mdb;

fig 3

让我们看一看刚才输入的代码的含义:

Driver={Microsoft Access Driver (*.mdb)}; 定义数据库驱动程序.
DBQ= 引用数据库物理路径位置
c:\inetpub\wwwroot\c1\music1.mdb;这就是你本地服务器中数据库文件所在的物理路径。

5/ 点击 OK 按钮 ,UD将在Connections创建一个ASP文件c1_music.asp.
此时我们已经为数据库建立了一个DSNLess 链接并存储于 wwwroot 目录中. 但是,问题来了:如果我上传文件到远程服务器上,怎么样修改数据库文件的路径 (c:\inetpub\wwwroot\c1\music1.mdb;) 呢?

6/ 如果你打开c1_music.asp 你能够看到以下的代码:

<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO"
' HTTP="true"
' Catalog=""
' Schema=""
MM_c1_music_STRING = "Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\inetpub\wwwroot\c1\music1.mdb;"
%>

开始几行是注释,唯一有用的是红色代码部分:

MM_c1_music_STRING = "Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\inetpub\wwwroot\c1\music1.mdb;"

假设你的网站是webgenius.co.uk ,你的主机服务商告诉你使用的数据库文件路径是:d:\webdocs\webgenius.co.uk\yourdatabase.mdb

此时,需要修改链接字符串示例如下:

MM_c1_music_STRING = "Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\webdocs\webgenius.co.uk\yourdatabase.mdb;"

当然需要修改yourdatabase.mdb为你刚才创建的文件music1.mdb 替换完成后如下:

MM_c1_music_STRING = "Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\webdocs\webgenius.co.uk\music1.mdb;"

**** 下面的内容非常重要!!!****

确保你输入的连接字符串全部都在一行上!不能敲入回车符或软回车符!
MM_c1_music_STRING = "Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\webdocs\webgenius.co.uk\music1.mdb;"

如果你拷贝&粘贴定制的连接字符串,请一定要再次确认拷贝副本是否也在一行上。
在设置DSNLess连接时遇到的错误时存在两个主要的原因:“不正确的拼写”、“不正确的数据库路径”。
OLEDB CUSTOM CONNECTION STRING

ASP利用ADO与数据库连接时,同ODBC或Data Source Name(DSN)链接方式相比,使用OLEDB链接数据库更加快速可靠。OLEDB不需要通过第三方数据处理系统(data handling systems)直接链接到数据库.

1/打开 c1_add.asp 。

2/ Modify > Connections. 点击按钮〖New 〗选择Custom Connection String (fig 1).

fig 1

3/ 弹出“Custom Connection String”设置窗口 (fig 2).


fig 2

4/ 确认单选按钮定位到“Using Driver On Application Server” (fig 3).
    在Connection Name文本框中输入:c1_music.
    在Connection String文本框中输入:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\c1\music1.mdb;


fig 3

链接字符串分为两部分:

Provider=Microsoft.Jet.OLEDB.4.0; 告诉我们使用Microsoft Jet OLEDB.4.0 OLEDB provider.
Data Source=c:\inetpub\wwwroot\c1\music1.mdb; 引用数据库文件的位置.
5/ 同上一页我们介绍的一样,在上传文件到远程服务器之前,需要修改数据库文件的路径:

<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO"
' HTTP="true"
' Catalog=""
' Schema=""
MM_c1_music_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\c1\music1.mdb;"
%>

假设你的网站是webgenius.co.uk ,你的主机服务商告诉你使用的数据库文件路径是:d:\webdocs\webgenius.co.uk\yourdatabase.mdb

此时,需要修改链接字符串示例如下:

<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO"
' HTTP="true"
' Catalog=""
' Schema=""
MM_c1_music_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\webdocs\webgenius.co.uk\yourdatabase.mdb;"
%>

需要注意的仍然是链接代码要在同一行中,不能有断行。

USING - Server.MapPath - & OTHER TRICKS

IN THEORY


上页的教程中我们已经通过d:\webdocs\webgenius.co.uk\yourdatabase.mdb建立一个DSNLess connection链接到数据库文件。现在设想发生了一件非常意外的事情:主机服务商需要做一些特殊的维护工作,并将的站点文件暂时移到另外一个硬盘如E盘中,这时原先设置的数据库文件路径d:\webdocs\webgenius.co.uk\yourdatabase.mdb就不能正常工作,因为此时数据库的正确位置应该是:e:\webdocs\webgenius.co.uk\yourdatabase.mdb!

通过Server.MapPath命令可以检测数据库文件的位置,不会因为站点文件夹的位置改变而变化。

●使用这个方法之前需要注意的几个问题:

在custom connection string设置面板中,如果使用Server.MapPath,必须注意单选框要选择Using Driver on Application Server 。
链接字符串不能有断行。
注意引号问题.
下面列举一些使用Server.MapPath 的例子:

DSNLess Connection Strings :

标准的链接字符串:
"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\inetpub\wwwroot\your_site\data\music1.mdb"

使用Server.MapPath后如下:
"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/your_site/data/music1.mdb") & ";"


OLEDB Connection Strings :

标准的链接字符串:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\your_site\data\music1.mdb"

使用Server.MapPath后如下:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/your_site/data/music1.mdb")


IN PRACTICE

1/ 打开 c1_add.asp.

2/ Modify > Connections. 点击按钮〖New 〗选择Custom Connection String (fig 1).

fig1

3/ 弹出“Custom Connection String”设置窗口 (fig 2).


fig 2

4/ 确认单选按钮定位到“Using Driver On Application Server” (fig 3).
    在Connection Name文本框中输入:con1.asp

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/c1/music1.mdb")


fig 3

5/如果你点击Test 按钮,会弹出提示信息:“connection was made successfully”. 点击OK 按钮

6/打开 connection目录下的con1.asp 代码如下:

<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO"
' HTTP="true"
' Catalog=""
' Schema=""
MM_con1_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/c1/music1.mdb")
%>


技巧 # 1

小工具The WebThang PathFinder
我们提供了一个非常小的文ASP文件:pathfinder.asp,可以快捷地提供数据库链接代码下载 HERE .

使用方法:

解压文件
上传pathfinder.asp 到你的服务器端(和数据库文件在同一目录中)
通过浏览器运行:www.yoursite.com/data/pathfinder.asp.
你会看到类似下面的显示结果:

DSNLess Connection String is
DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\Inetpub\wwwroot\test2\YourDatabase.mdb

OLEDB Connection String is
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\test2\YourDatabase.mdb

5.你所要做的仅仅是修改YourDatabase.mdb为你的数据库文件名,复制到custom connection string 设置窗口中(注意不要忘记在代码前后添加双引号).

技巧 # 2

假如你想创建一个Server.MapPath连接字符串,而数据库文件和你的远端站点ASP文件不在同一个目录下,你可能不能准确写出asp页和数据库文件之间精确路径,怎么办呢?尝试下面的方法

新建一个文件findpath.htm 同你的ASP 文件放到一起 (不要放到 Connections 目录下, 必须和asp文件在同一目录下)
打开findpath.htm输入“Path to Database” .
选择“Path to Database”建立一个超链接,连接到数据库文件.
在属性设置面板中Link文本框中你会看到类似../../mydatabase.mdb 的字符
拷贝字符,粘帖到Server.MapPath中。
STRINGS FOR ALL OCCASIONS

这里是用于连接各种数据库用的链接字符串,请根据你的需要选用。.


ODBC DSNLess Connections:

MS Access ODBC DSNless connection
Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\yourpath\dbase.mdb;Uid=Admin;Pwd=pass;


dBase ODBC DSNless connection
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\yourpath\dbase.dbf;

Oracle ODBC DSNless connection
Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=admin;Pwd=pass;

MS SQL Server DSNless connection
Driver={SQL Server};Server=servername;Database=dbase_name;Uid=sa;Pwd=pass;

MS Text Driver DSNless connection
Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\yourpath\;Extensions=asc,csv,tab,txt;Persist Security Info=False;

Visual Foxpro DSNless connection
Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:\yourepath\dbase.dbc;Exclusive=No;

MySQL DSNless connection
driver={mysql}; database=yourdatabase;server=yourserver;uid=username;pwd=password;option=16386;


--------------------------------------------------------------------------------

OLE DB Connections:

MS Access OLE DB connection
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\yourpath\dbase.mdb;User Id=admin;Password=pass;

Oracle OLE DB connection
Provider=OraOLEDB.Oracle;Data Source=dbase_name;User Id=admin;Password=pass;

MS SQL Server OLE DB connection
Provider=SQLOLEDB;Data Source=machineName;Initial Catalog=dbasename;User ID=sa;Password=pass;

MS SQL Server OLE DB connection using an IP address
Provider=SQLOLEDB; Data Source=xx.xx.xx.xx,1433; Network Library=DBMSSOCN; Initial Catalog=dbasename;User ID=sa;Password=pass;

MS Text Driver OLE DB connection
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\yourpath;Extended Properties='text;FMT=Delimited'"





在百度中查找更多轻轻松松搞定数据库链接的内容
职场宝典   职场故事   职场跳槽   职场文化   职场理财   职场充电   情感天地   职场女性   职场礼仪   职场新人
报告总结   述职报告 工作总结 调查报告 工作汇报 计划方案 个人总结 社会实践 规章制度 调研报告 
  实习报告 考察报告 辞职报告 
演讲发言   竞职演说   就职演说   精彩演说   爱国演讲   英语演讲   十七大演讲   安全生产演讲稿   
节日祝福   重阳节 国庆节 教师节 中秋节 情人节 七夕节 劳动节 妇女节 清明节 愚人节 春节 元旦 圣诞节  儿童节  端午节 母亲节 新婚祝福 生日祝福 
讲话致辞   开业开幕   会议主持   庆典致辞   会议发言   党风廉政   党政报告   贺电慰问   婚丧嫁娶   思想宣传
法律常识   基本常识   法律文书   权益常识   劳动保障   婚姻继承   民事诉讼   刑事诉讼   
党建材料   入党申请   思想学习   党性分析   思想汇报   转正申请   民主生活   党委党建   入团申请   申报材料
求职简历   个人简历   求职自荐   求职谋略   面试技巧   求职英语   自我鉴定   英文简历   简历封面
心得体会   心得体会   经验交流   读后感   
时政热点   和谐社会   先进性教育   新农村建设   十七大   八荣八耻   科学发展观   劳动合同法   
人际沟通   社交技巧   社交礼仪   口才技巧   谈话技巧   演讲技巧   
营销技巧   电话销售   网络销售   推销技巧   促销技巧   销售口才   营销手段   销售技巧   谈判技巧   

“ 轻轻松松搞定数据库链接”来源于网络,版权归作者所有!勿用于商业用途。

数据库开发

ASP技术
PHP技术
JSP技术
.NET技术
服务器技术
数据库开发
其它类

本类阅读TOP10

·SQL Server 存储过程的分页
·SQL Server的5年期待
·16进制数转10进制数
·Mssql和Mysql的安全性分析
·一起特殊中文全文检索问题的解决
·使用sql server中的全文索引
·MySQL查询优化系列讲座之数据类型与效率
·SQL Server CHARINDEX和PATINDEX详解
·MySQL查询优化系列讲座之查询优化器
·轻轻松松搞定数据库链接

广告


关于本站|服务条款|广告服务|客服中心|发布文章|网站留言