/*
openDatasource:不使用连接服务器的名称,而提供特殊的链接信息.
使用openDatasource的前提是仅当 DisallowAdhocAccess
注册表选项针对指定的提供程序显式设置为 0,
并且启用 Ad Hoc Distributed Queries 高级配置选项时,
OPENDATASOURCE 才可用于访问 OLE DB 数据源中的远程数据。
如果未设置这些选项,则默认行为不允许即席访问。
*/
--代码如下:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--(1)例如现在我想打开D盘中BJData.mdb中的BJAdmin表的信息
select ID,Title,OwnerName from
opendataSource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\BJData.mdb";')...BJAdmin
/*Results:
ID Title OwnerName
----------- -------------------- --------------------------------------------------
1 xinrong
4 webmaster admin
5 bing webmaster
(3 行受影响)
*/
--(2)我现在要将BJAdmin中BJNewsCategory中的信息插入到A表中
--先查询下Test.Newscategory
select * from Test.dbo.Newscategory
/*
ID Title
----------- --------------------
1 MSSQL
(1 行受影响)
*/
insert into Newscategory select Title from OpenDataSource
('Microsoft.Jet.OLEDB.4.0','Data Source="D:\BJData.mdb";')...BJNewsCategory
--导入之后再查询
select * from Test.dbo.Newscategory
/*
ID Title
----------- --------------------
1 MSSQL
2 新闻分类
3 新闻动态
4 工程案例
5 膜结构知识
6 在建工程
(6 行受影响)
*/
--上面的都是在MSSQL中查询Access中的信息,现在将MSSQL中的信息导入到Access中去
--(3)将AdminInfo的信息插入到BJData.mdb中的BJAdmin中去
select * from Test.dbo.AdminInfo
/*
ID Title
----------- ------------------------------
1 ws_hgo
(1 行受影响)
*/
insert into opendatasource('microsoft.Jet.OLEDB.4.0','Data source="D:/BJData.mdb"')...BJAdmin
(Title,RoleID) select Title,1 from AdminInfo
--然后查询BJAdmin表的信息
select ID,Title,OwnerName from
opendataSource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\BJData.mdb";')...BJAdmin
/*
ID Title OwnerName
----------- -------------------- --------------------------------------------------
1 xinrong
4 webmaster admin
5 bing webmaster
12 ws_hgo NULL
(4 行受影响)
*/
--(4)上面说的是Access与MSSQl之间的操作现在操作下
--Excel与MSSQL之间的操作
--从Excel中读取信息
select * from OpenDataSource
('Microsoft.Jet.OLEDB.4.0','Data Source="D:\work.et";Extended properties=Excel 5.0')...[sheet1$]
/*
EmployeeName Sex Age Post
----------- ----------- -------- ------------
ws_hgo Boy 23 Senior Programmer
yangzhognyuan Boy 24 Programmer
chenjing Girl 24 Designer
(3 行受影响)
--(5)
*/
/*将本地表中的信息导入到远程数据库表中
下面的例子将本地whsxjAdmin种的(Title,Password)插入到远程
zhongyiAdmin中去
*/
insert into opendatasource('SQLOLEDB','Data Source=IP地址;User ID=zhongyi;password=xinrongkeji').sqlzhongyi.dbo.zhongyiAdmin(Title,Password)
select Title,Password from whsxjAdmin
--下面说下OPENROWSET
/*
包含访问 OLE DB 数据源中的远程数据所需的全部连接信息。
当访问链接服务器中的表时,这种方法是一种替代方法,
并且是一种使用 OLE DB 连接并访问远程数据的一次性的临时方法。
*/
--(1)直接查询远程服务器上面的信息
select ID,Title from OpenRowset
('SQLOLEDB','IP地址';'zhongyi';'xinrongkeji','select * from sqlzhongyi.dbo.zhongyiAdmin') t
--(2)查询Access里面的信息
select * from OpenRowset
('microsoft.Jet.OLEDB.4.0','d:\BJData.mdb';'Admin';'',BJAdmin) as g
分享到:
相关推荐
SQL Server 异构数据库之间数据的导入导出 ...本文讨论了如何通过 Transact-SQL 以及系统函数 OPENDATASOURCE 和 OPENROWSET 在同构和异构数据库之间进行数据的导入导出,并给出了详细的例子以供参考。
本文首先介绍了 OpenRowSet 函数和 OpenDataSource 函数,用于访问本机 Access 和 Excel 文件。OpenRowSet 函数可以通过 OLE DB 访问接口连接到远程数据源,并从该数据源访问远程数据。OpenDataSource 函数的功能...
OPENROWSET 函数的语法为:OPENROWSET ( 'provider_name', { 'datasource' ; 'user_id' ; 'password'| 'provider_string' }, { [ catalog.] [ schema.] object| 'query' }) 例如:SELECT a.*FROM OPENROWSET('...
SQL 远程数据库操作详解 SQL 远程数据库操作是指在不同的服务器之间进行数据的交互和共享,例如跨服务器...链接服务器、openrowset 函数、openquery 函数和 opendatasource 函数是常用的方法来连接远程数据库服务器。
Excel 导入 SQL2005 在本文中,我们将详细介绍如何将 Excel 文件导入到 SQL ...通过配置 SQL Server 2005 和注册表,使用 OpenDataSource 和 OPENROWSET 函数,我们可以将 Excel 文件成功导入到 SQL Server 2005 中。
OpenDataSource函数允许连接到外部数据源,而OPENROWSET函数则可以直接将结果集作为一个临时表进行操作。这两个函数都是使用OLE DB供应商来访问非SQL Server的数据源,如ACCESS或Excel。 对于Excel数据的转换,虽然...
首先,让我们了解一下 OpenDataSource 函数和 OPENROWSET 函数的使用。OpenDataSource 函数用于打开一个数据源,例如 Access 数据库,而 OPENROWSET 函数则用于打开一个rowset对象,以便我们可以从中检索数据。 ...
其中,OPENDataSource函数可以不使用链接服务器名而直接提供特殊连接信息,该信息允许用户在Transact-SQL语句中引用四部分名称的对象。而OPENROWSET函数则包含了访问OLEDB数据源中远程数据所需的全部连接信息。它们...
当需要在不同类型的数据库间传输数据时,SQL Server提供了OPENDATASOURCE和OPENROWSET这两个系统函数。它们依赖于OLE DB驱动程序,支持多种数据源。 - **OPENDATASOURCE**:允许你直接访问其他数据源,例如: ```...
对于跨数据库平台的数据传输,SQL Server提供了OPENDATASOURCE和OPENROWSET这两个函数,它们支持连接到任何提供OLE DB驱动的数据库。例如,要从远程SQL Server实例获取数据: ```sql SELECT * FROM ...
在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下: 一、SQL ...
以分布式查询为例,可以使用SQL Server中的OPENDATASOURCE函数或OPENROWSET函数来访问Excel表数据。OPENDATASOURCE函数允许打开支持OLEDB的数据源,并可以作为SQL语句中表名的替代。通过指定提供者名称(provider_...
SQL Server可以通过OpenDataSource函数访问Access数据库文件,从而执行查询操作。首先需要指定连接字符串,包含OLEDB提供者、数据源路径以及(可选的)用户ID和密码。例如: ```sql SELECT * FROM OpenDataSource('...
我们可以使用OpenDataSource函数和OPENROWSET函数来实现数据导入和导出操作。 OpenDataSource函数用于打开一个数据源,例如Access数据库或Excel文件。该函数需要指定数据源的名称、用户名和密码等信息。例如: ```...
在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下: 一、...
使用OPENDATASOURCE函数时,需要提供一个连接字符串和一个查询字符串。连接字符串包含数据源类型(即provider_name,SQL Server中为'SQLOLEDB'),以及数据源地址(即datasource),还有登录的用户名和密码。查询...
在 SQL Server 中提供了两个函数可以根据各种类型数据库的 OLE DB Provider 打开并操作这些数据库,这两个函数是 OPENDATASOURCE 和 OPENROWSET。 OPENDATASOURCE 函数可以打开非 SQL Server 数据库,并提供了灵活...
在Excel中,SQL函数如OPENROWSET或OPENDATASOURCE可用于直接查询数据库,将结果返回到工作表中。掌握SQL语言,理解SQL查询语句的编写,能帮助用户高效地从数据库中提取数据,进行进一步的分析。 源码部分提供了实际...