excel连接外部数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Excel中ADO连接几种数据库的格式及字符串拼写方法
ADO参考
摘要:在OLE DB(建立于低层ODBC 之上,是一个针对SQL 数据源和非SQL 数据源,如邮件和目录等进行操作的应
用程序接口)的基础上,Microsoft 推出了另一个数据访问对象模型:ADO(ActiveX Data Object:ActiveX数据对
象)。ADO 采用基于DAO 和RDO 的对象,并提供比DAO 和RDO 更简单的对象模型,它包含一些简化对数据存储
区数据的访问任务的内置对象。同时ADO具有强大的功能和灵活性,它可以使用相同的编程模式连接到不同的数据
库,为我们提供了数据库访问接口。
ADO对象
ADO 模型中定义了六个常用的对象:Connection、Command、Recordset、Error、Field 和Parameter对象,通过这
些对象的属性和方法,我们可以很方便地建立数据库连接,执行SQL查询以及存取操作。
下图直观地描述了对象之间的关系:
Connection对象
代表打开的、与数据源的连接。一般使用Connection 对象的集合、方法、和属性执行下列操作:
1、在打开连接前使用ConnectionString、ConnectionTimeout 和Mode 属性对连接进行配置。
2、使用DefaultDatabase 属性设置连接的默认数据库。
3、使用Provider 属性指定OLE DB 提供者。
4、使用Open 方法建立到数据源的物理连接。使用Close 方法将其断开。
5、使用Execute 方法执行对连接的命令,并使用CommandTimeout 属性对执行进行配置。
6、使用BeginTrans、CommitTrans 和RollbackTrans 方法以及Attributes 属性管理打开的连接上的事务(如果提供者支持则包括嵌套的事务)。
7、使用Errors 集合检查数据源返回的错误。
Command对象
定义了对数据源执行的命令,我们可以使用Command 对象的集合、方法、属性进行下列操作:
1、使用CommandText 属性定义命令(例如,SQL 语句)的可执行文本。
2、通过Parameter 对象和Parameters 集合定义参数化查询或存储过程参数。
3、使用Execute 方法执行命令并在适当的时候返回Recordset 对象。
4、执行前使用CommandType 属性指定命令类型以优化性能。
5、使用CommandTimeout 属性设置等待命令执行的秒数。
6、通过设置ActiveConnection 属性关联打开的连接。
7、设置Name 属性将Command 标识为与Connection 对象关联的方法。
8、将Command 对象传送给Recordset 的Source 属性以便获取数据。
Recordset对象
执行命令返回的记录集。任何时候,Recordset 对象所指的当前记录均为集合内的单个记录。通过Recordset 对象可对几乎所有数据进行操作。它由记录(行)和字段(列)构成。ADO连接EXCEL2003表
Conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & 文件全路
Cnn.Open "provider=microsoft.jet.oledb.4.0;Extended properties='excel
8.0;hdr=no';data source=" & 路径
设置“HDR=NO"应该表示所选区域首行不做为标题,如果不设置该项,系统默认将首行非空记录做为ADO记录集的标题行
ADO连接txt文件
ActiveSheet.Cells.Clear
myText = "学生成绩.txt"
myPath = ThisWorkbook.Path
CnnStr = "Driver={Microsoft Text Driver (*.txt; *.csv)};" & "DBQ=" & myPath ' Cnn.Open CnnStr
rs.Open myText, cnn, adopenkeset, adLockOptimistic
ADO连接ACCESS2003的数据库
strAccess = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + _
ThisWorkbook.Path + "\data\数据库档案.MDB" + _
";Jet OLEDB:Database Password=" & "123"
'定义连接字符串数据源密码(最长20个字符)
Set ADOcn = New ADODB.Connection ' 赋值变量为对象引用
ADOcn.Open strAccess '打开连接
ADO连接FOXPRO 6.0的数据库
set conn =createobject("adodb.connection")
set rs=createobject("adodb.recordset")
sql="select * from aa.dbf"
conn.open "driver={microsoft visual foxpro
driver };sourcetype=dbf;excelusive=no;sourcedb=" & 文件路径
rs.open sql ,conn
msgbox rs.recordcount
rs.close
conn.close
conn=nothing
rs=nothing
需要安装foxpro 的odbc驱动
ADO连接SQL SERVER的数据库
Dim cnn1 As ADODB.Connection
Dim strCnn As String
' 打开连接。
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
cnn1.Open strCnn
ADO连接ACCESS2007的数据库
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Access2007数据源& _
";Jet OLEDB:Database Password=" & 密码
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Excel2007数据源& _
";Jet OLEDB:Database Password=" & 密码
ADO连接oracle数据库
Sub connect_数据库()
Dim strconnt As String
Set connt = New ADODB.Connection
Dim rs As Object
Set rs = New ADODB.Recordset
Dim sevip, Db, user, pwd As String
'设服务器地址、所连数据,及登录用户密码
sevip = "****"
Db = "****"
user = "****"
pwd = "****"
strconnt = "DRIVER={Microsoft ODBC for Oracle};Password=apps;User
ID=apps;Data Source=demo" '
connt.ConnectionString = strconnt