大家來說說連接數據庫方法,說對一個10分,呵呵??

zxj971140 2003-05-17 01:52:15
我知道的有bde ado odbc
除此之外還有沒有別的連接方法。
說對一個10分。

推存好的連接方案。一個20分,不要說上面三種
...全文
34 点赞 收藏 26
写回复
26 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zxj971140 2003-06-17
gz
回复
追梦 2003-05-17
Mark
回复
zhjjava 2003-05-17
要求
连接到数据库需满足如下要求:
支持 Active Server Pages (ASP) 的 Internet Information Services (IIS) 5.0 Web 服务器,其中包括 Microsoft 数据访问组件 (MDAC) 2.5 或 2.6 版(带 Jet 数据库引擎)
到本地或远程数据库的连接能力
支持 ASP 的 Microsoft Internet Explorer 5.0 或更高版本
返回页首
数据库连接字符串示例
这些示例仅供示范之用。您必须将这些代码粘贴到 ASP 代码中才能建立到指定数据库的连接。注意,您必须更改诸如数据库名称、服务器名称、数据库位置和数据源名称 (DSN) 等元素。

返回页首
Microsoft Access
无 DSN <%
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\mydatabase.mdb"
%>
OLE DB <%
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=c:\mydatabase.mdb"
%>
文件 DSN <% Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.open "FILEDSN=ADSN"
%>
有 DSN,无用户 ID/密码 <%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DSNname"
%>
有 DSN,有用户 ID/密码 <%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DSNname","username","password"
%>
无 DSN,使用物理路径作为引用 <%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtest=dsntest & "DBQ=c:\mydatabase.mdb"
Conn.Open DSNtest
%>
无 DSN,使用 Server.MapPath

备注:Server.MapPath 是 Web 服务器根目录的路径。默认情况下,它是 C:\Inetpub\Wwwroot。 <%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtest=dsntest & "DBQ=" & Server.MapPath("/databases/mydatabase.mdb")
Conn.Open DSNtest
%>
返回页首
Microsoft SQL Server
OLE DB <%
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.open "PROVIDER=SQLOLEDB;DATA SOURCE=sqlservername;UID=username;PWD=password;DATABASE=mydatabase "
%>
有 DSN <%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DSN=MyDSN;UID=user;PWD=password;DATABASE=mydatabase"
%>
无 DSN <%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"
Conn.open DSNtest
%>
返回页首
Microsoft Visual FoxPro
无 DSN <%
Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr= "Driver=Microsoft Visual Foxpro Driver; UID=userID;SourceType=DBC;SourceDB=C:\databases\mydatabase.dbc"
Conn.Open ConnStr
%>
返回页首
Oracle
有 DSN 的 ODBC <%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.cursorlocation=adUseClient
' requires use of adovbs.inc; numeric value is 3
Conn.open "DSN=test;UID=name;PWD=pass"
%>
OLE DB <%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.cursorlocation=adUseClient
' requires use of adovbs.inc; numeric value is 3
DSNTest="Provider=MSDAORA.1;Password=pass;User ID=name;Data Source=data.world"
Conn.open DSNtest
%>
回复
zhjjava 2003-05-17
连接数据库查询手册(不仅仅适用于asp)

下面将简单介绍一下几种ADO连接方式:ODBC DSN,ODBC DSN-Less,
OLE DB Provider,和"MS Remote" Provider.
1。ODBC DSN连接
I.DSN
oConn.Open "DSN=AdvWorks;" & _
"UID=Admin;" & _
"PWD=;"
注意:从MDAC2.1开始就不能够在使用这样的方式了,就是只把DSN文件名放在ConnectString中
你必须同时使用DSN,UID,PWD标志。例如下面的方式在MDAC 2.1中将会出错:
oConn.Open "AdvWorks"


II.File DSN
oConn.Open "FILEDSN=\somepath\mydb.dsn;" & _
"UID=Admin;" & _
"PWD=;"
III.ODBC DSN-Less Connections
a)ODBC Text Driver
oConn.Open _
"Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"Dbq=\somepath\;" & _
"Extensions=asc,csv,tab,txt;" & _
"Persist Security Info=False"
注意:需要在SQL语句中指定使用到的文件名。例如:
oRs.Open "Select * From customer.csv", _
oConn, adOpenStatic, adLockReadOnly, adCmdText
b)ODBC Driver for Access
i)普通安全模式:
oConn.Open _
"Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=\somepath\mydb.mdb;" & _
"Uid=Admin;" & _
"Pwd=;"
ii)如果使用了System database:
oConn.Open _
"Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=\somepath\mydb.mdb;" & _
"SystemDB=\somepath\mydb.mdw;", _
"admin", ""
c)ODBC Driver for SQL Server
i)普通安全模式
oConn.Open "Driver={SQL Server};" & _
"Server=carl2;" & _
"Database=pubs;" & _
"Uid=sa;" & _
"Pwd=;"
ii)使用信任安全模式:
oConn.Open "Driver={SQL Server};" & _
"Server=carl2;" & _
"Database=pubs;" & _
"Uid=;" & _
"Pwd=;"
注意:要使用空白的Uid和Pwd
d)ODBC Driver for Oracle
i)使用现有的Oracle ODBC Driver from Microsoft:
oConn.Open _
"Driver={Microsoft ODBC for Oracle};" & _
"Server=OracleServer.world;" & _
"Uid=demo;" & _
"Pwd=demo;"
ii)使用老版本的Oracle ODBC Driver from Microsoft:
oConn.Open _
"Driver={Microsoft ODBC Driver for Oracle};" & _
"ConnectString=OracleServer.world;" & _
"Uid=demo;" & _
"Pwd=demo;"
IIII)使用微软的OLE DB Data Link Connections方式Data Link File (UDL)
a)使用绝对路径
oConn.Open "File Name=\somepath\pubs.udl;"
b)使用相对路径
oConn.Open "File Name=pubs.udl;"
V)OLE DB Provider Connections方式
a)OLE DB Provider for ODBC Databases
i)Access (Jet):
oConn.Open _
"Provider=MSDASQL;" & _
"Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=\somepath\mydb.mdb;" & _
"Uid=Admin;" & _
"Pwd=;"
ii)SQL Server:
oConn.Open _
"Provider=MSDASQL;" & _
"Driver={SQL Server};" & _
"Server=carl2;" & _
"Database=pubs;" & _
"Uid=sa;" & _
"Pwd=;"
b)OLE DB Provider for Microsoft Jet (Access)
i)普通安全模式:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;" & _
"User Id=admin;" & _
"Password=;"
ii)如果使用了System database:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;" & _
"Jet OLEDB:System Database=system.mdw;", _
"admin", ""
注意:当使用OLE DB Provider4.0版本是,需要把MDB和MDW文件转换成4.0的数据库格式
iii)如果MDB需要一个数据库密码的话:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;" & _
"Jet OLEDB:Database Password=MyDbPassword;", _
"admin", ""
c)OLE DB Provider for Excel Spreadsheet:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\expenses.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"
注意: "HDR=Yes"表示在第一行中是行标题,在provider中将不把第一行包括入recordset中
d)OLE DB Provider for SQL Server
i)普通安全模式:
oConn.Open "Provider=sqloledb;" & _
"Network Library=DBMSSOCN;" & _
"Data Source=carl2;" & _
"Initial Catalog=pubs;" & _
"User Id=sa;" & _
"Password=;"
ii)使用信任安全模式:
oConn.Open "Provider=sqloledb;" & _
Network Library=DBMSSOCN;" & _
"Data Source=carl2;" & _
"Initial Catalog=pubs;" & _
"Trusted_Connection=yes;"
注意:"Network Library=DBMSSOCN"声明OLE DB使用TCP/IP替代Named Pipes.
e)OLE DB Provider for Oracle
oConn.Open "Provider=msdaora;" & _
"Data Source=OracleServer.world;" & _
"User Id=sa;" & _
"Password=;"
(VI)Remote OLE DB Provider Connections方式(就是我一直在研究的RDS方式哦,呵呵。):
a)MS Remote - Access (Jet)
i)ODBC DSN:
oConn.Open "Remote Server=http://carl2;" & _
"Remote Provider=MSDASQL;" & _
"DSN=AdvWorks;" & _
"Uid=admin" & _
"Pwd=;"
ii)OLE DB Provider:
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;", _
"admin", ""
iii)OLE DB Provider自定义事务对象
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Handler=MSDFMAP.Handler;" & _
"Data Source=MyAdvworksOLEDBConnectTag;"
b)MS Remote - SQL Server
i)ODBC DSN:
oConn.Open "Remote Server=http://carl2;" & _
"Remote Provider=MSDASQL;" & _
"Network Library=DBMSSOCN;" & _
"DSN=Pubs;" & _
"Uid=sa" & _
"Pwd=;"
ii)OLE DB Provider
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Remote Provider=SQLOLEDB;" & _
"Network Library=DBMSSOCN;" & _
"Data Source=carl2;" & _
"Initial Catalog=pubs;" & _
"User ID=sa;" & _
"Password=;"
回复
fangpeng2003 2003-05-17
1、ADOX 概述
Microsoft® ActiveX® Data Objects Extensions for Data Definition Language and Security (ADOX) 是对 ADO 对象和编程模型的扩展。ADOX 包括用于模式创建和修改的对象,以及安全性。由于它是基于对象实现模式操作,所以用户可以编写对各种数据源都能有效运行的代码,而与它们原始语法中的差异无关。

ADOX 是核心 ADO 对象的扩展库。它显露的其他对象可用于创建、修改和删除模式对象,如表格和过程。它还包括安全对象,可用于维护用户和组,以及授予和撤消对象的权限。

要通过开发工具使用 ADOX,需要建立对 ADOX 类型库的引用。对 ADOX 库的说明为“Microsoft ADO Ext. for DDL and Security.”。ADOX 库文件名为“Msadox.dll”,程序 ID (ProgID) 为“ADOX”。有关建立库引用的详细信息,请参阅开发工具的文档。
2、ADOX 对象
Catalog 包含描述数据源模式目录的集合。
Column 表示表、索引或关键字的列。
Group 表示在安全数据库内有访问权限的组帐号。
Index 表示数据库表中的索引。
Key 表示数据库表中的主关键字、外部关键字或唯一关键字。
Procedure 表示存储的过程。
Table 表示数据库表,包括列、索引和关键字。
User 表示在安全数据库内具有访问权限的用户帐号。
View 表示记录或虚拟表的过滤集。
3、ADOX 方法
Append(Columns) 将新的 Column 对象添加到 Columns 集合。
Append(Groups) 将新的 Group 对象添加到 Groups 集合。
Append(Indexes) 将新的 Index 对象添加到 Indexes 集合。
Append(Keys) 将新的 Key 对象添加到 Keys 集合。
Append(Procedures) 将新的 Procedure 对象添加到 Procedures 集合。
Append(Tables) 将新的 Table 对象添加到 Tables 集合。
Append(Users) 将新的 User 对象添加到 Users 集合。
Append(Views) 将新的 View 对象添加到 Views 集合。
ChangePassword 更改用户帐号的密码。
Create 创建新的目录。
Delete 删除集合中的对象。
GetObjectOwner 返回目录中对象的拥有者。
GetPermissions 获得对象上组或用户的权限。
Item 按名称或序号返回集合的指定成员。
Refresh 更新集合中的对象,以反映针对提供者可用的和指定的对象。
SetObjectOwner 指定目录中对象的拥有者。
SetPermissions 设置对象上组或用户的权限。
4、ADOX 属性
ActiveConnection 指示目录所属的 ADO Connection 对象。
Attributes 描述列特性。
Clustered 指示索引是否被分簇。
Command 指定可用于创建或执行过程的 ADO Command 对象。
Count 指示集合中的对象数量。
DateCreated 指示创建对象的日期。
DateModified 指示上一次更改对象的日期。
DefinedSize 指示列的规定最大大小。
DeleteRule 指示主关键字被删除时将执行的操作。
IndexNulls 指示在索引字段中有 Null 值的记录是否有索引项。
Name 指示对象的名称。
NumericScale 指示列中数值的范围。
ParentCatalog 指定表或列的父目录以便访问特定提供者的属性。
Precision 指示列中数据值的最高精度。
PrimaryKey 指示索引是否代表表的主关键字。
RelatedColumn 指示相关表中相关列的名称(仅关键字列)。
RelatedTable 指示相关表的名称。
SortOrder 指示列的排序顺序(仅索引列)。
Type(列) 指示列的数据类型。
Type(关键字) 指示关键字的数据类型。
Type(表) 指示表的类型。
Unique 指示索引关键字是否必须是唯一的。
UpdateRule 指示主关键字被更新时会执行的操作。

5、范例
一、创建数据库范例
如下代码显示如何通过 Create 方法创建新的 Jet 数据库。

Sub CreateDatabase()

Dim cat As New ADOX.Catalog
cat.Create ""Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb""

End Sub
二、创建表范例
Sub CreateTable()

Dim tbl As New Table
Dim cat As New ADOX.Catalog

'打开目录。
' 打开目录。
cat.ActiveConnection = _
""Provider=Microsoft.Jet.OLEDB.4.0;"" & _
""Data Source=c:\Program Files\Microsoft Office\"" & _
""Office\Samples\Northwind.mdb;""

tbl.Name = ""MyTable""
tbl.Columns.Append ""Column1"", adInteger
tbl.Columns.Append ""Column2"", adInteger
tbl.Columns.Append ""Column3"", adVarWChar, 50
cat.Tables.Append tbl

End Sub
三、创建索引范例
如下代码演示如何创建新的索引。索引针对表的两个列建立。

Sub CreateIndex()

Dim tbl As New Table
Dim idx As New ADOX.Index
Dim cat As New ADOX.Catalog

' 打开目录。
' 打开目录。
cat.ActiveConnection = _
""Provider=Microsoft.Jet.OLEDB.4.0;"" & _
""Data Source=c:\Program Files\Microsoft Office\"" & _
""Office\Samples\Northwind.mdb;""

' 定义表并将其追加到目录
tbl.Name = ""MyTable""
tbl.Columns.Append ""Column1"", adInteger
tbl.Columns.Append ""Column2"", adInteger
tbl.Columns.Append ""Column3"", adVarWChar, 50
cat.Tables.Append tbl

' 定义多列索引
idx.Name = ""multicolidx""
idx.Columns.Append ""Column1""
idx.Columns.Append ""Column2""

' 将索引追加到表上
tbl.Indexes.Append idx

End Sub
四、创建关键字范例
如下代码演示如何创建新的外部关键字。假定已存在两个表(Customers 和 Orders)。

Sub CreateKey()

Dim kyForeign As New ADOX.Key
Dim cat As New ADOX.Catalog

cat.ActiveConnection = ""Provider=Microsoft.Jet.OLEDB.4.0;"" & _
""Data Source=c:\Program Files\Microsoft Office\"" & _
""Office\Samples\Northwind.mdb;""

kyForeign.Name = ""CustOrder""
kyForeign.Type = adKeyForeign
kyForeign.RelatedTable = ""Customers""
kyForeign.Columns.Append ""CustomerId""
kyForeign.Columns(""CustomerId"").RelatedColumn = ""CustomerId""
kyForeign.UpdateRule = adRICascade
cat.Tables(""Orders"").Keys.Append kyForeign
End Sub
回复
zxj971140 2003-05-17
算了算了,不結貼。
回复
hjb111 2003-05-17
ado,dao,jdo,odbc,bde
回复
zxj971140 2003-05-17
其實我想過,什麼adox支持access強些。oledb支持本機數據強些。rdo等連接方式都沒有ado好。而我們現在又不想用ADO,怎麼辦
回复
zxj971140 2003-05-17
vb6.0+sql2000
數據量大。
回复
zxj971140 2003-05-17
vb6.0+sql2000
數據量大。
回复
ccbzzp 2003-05-17
關鍵要看那种合适你
要考慮你的軟硬環境的
回复
ccbzzp 2003-05-17
BDE
回复
zxj971140 2003-05-17
adox是什麼,比ADO好嗎。
回复
fangpeng2003 2003-05-17
ADOX
回复
liukanghui 2003-05-17
JET
回复
yoki 2003-05-17
支持!!!
回复
zxj971140 2003-05-17
能支持vb6.0嗎
回复
erigido 2003-05-17
ado.net
回复
pengdali 2003-05-17
其实不管哪种方式,找到适合你的一种就行了
oledb和ado都很好
回复
pengdali 2003-05-17
dao
回复
加载更多回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-17 01:52
社区公告
暂无公告