- 浏览: 230592 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lizhiyu211:
哦,那看来性能确实不行,学习了。
记得还有一次是这么用的,是一 ...
ORACLE/MSSQL随机取一条记录方法 -
lizhiyu211:
string2020 写道直接执行 xhost + 就行了
恩 ...
linux下启动dbca或netmgr类的图形界面报错 -
Aaron5:
Aaron5 写道lizhiyu211 写道Aaron5 写道 ...
ORACLE/MSSQL随机取一条记录方法 -
Aaron5:
lizhiyu211 写道Aaron5 写道这个oracle的 ...
ORACLE/MSSQL随机取一条记录方法 -
string2020:
直接执行 xhost + 就行了
linux下启动dbca或netmgr类的图形界面报错
数据库 2008-07-26 08:50:11 阅读248 评论0 字号:大中小 订阅 一、OpenDataSource ############################## 1. 操作SQL服务器数据,如SQL Server /Oracle等等 格式: SELECT top 10 * FROM OPENDATASOURCE( 'ProviderName', 'Data Source=ServerName;User ID=LoginUser;Password=Password' ).[DataBaseName].dbo.TableName 以上是以我公司数据库为,OrderMaster 是销售单表 如: SELECT top 10 * FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=globe01;User ID=xw_cai;Password=123' ).[order].dbo.ordermaster 2. 操作Excel表 格式: SELECT * FROM OpenDataSource( 'MICROSOFT.JET.OLEDB.4.0', 'Data Source="Excel文件所存放的路径";User ID=;Password=;Extended properties=Excel 5.0')...SheetName$ SheetName工作区名称,其工作区的名称的后缀$不能少 如: SELECT * FROM OpenDataSource( 'MICROSOFT.JET.OLEDB.4.0', 'Data Source="G:\WorkEveryDay\DayDo\OrderList";User ID=;Password=;Extended properties=Excel 5.0')...OrderList$ 3. 操作Text文本文件 格式: SELECT * FROM OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0', 'Text;HDR=no;Database=存放Text文本文件路径')...[TextName#txt] TextName是文本文件名称,txt是文本文件后缀,其中#不能少,不能将#改为.也报错,格式TextName.txt是不正确,正确TextName#txt。Database=’\’最后一个\不能少。 例子: SELECT * FROM OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0', 'Text;HDR=no;Database=E:\Study\C#\Data\學習資料\Text\')...[textName#txt] 二、OPENQUERY ############################# 语法 OPENQUERY ( linked_server , 'query' ) 变量说明 linked_server 用来连接其它数据库服务器的标志符。也就是已经和某台数据库服务已建立连接。 'query’ SQL查询语句 格式: SELECT * FROM OPENQUERY(ServerName/IPAddress, 'SELECT * FROM DataBaseName.dbo.TableName ') 例子: SELECT * FROM OPENQUERY([192.168.42.43], 'SELECT top 10 * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') 注:连接用什么名,此处就用什么名,服务器的名称/IP地址,都可以访问 三、OPENROWSET ########################### select * from openrowset('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=d:\', 'select * from 表名') ------------------------------------------------------------------------------------------------------------- 包括從 OLE DB 資料來源存取遠端資料需要的所有連線資訊。這個方法是在連結伺服器存取資料表的替代方法,而且是使用 OLE DB 連線與存取遠端資料的一次、特定的方法。OPENROWSET 函數可以在查詢的 FROM 子句中當作資料表名稱來參考。根據 OLE DB Provider 的能力,OPENROWSET 函數也可以當作 INSERT、UPDATE 或 DELETE 陳述式的目標資料表來參考。雖然查詢可能會傳回多個結果集,OPENROWSET 只傳回第一個結果集。 語法 OPENROWSET ( 'provider_name' , { 'datasource' ; 'user_id' ; 'password' | 'provider_string' } , { [ catalog.] [ schema.] object | 'query' } ) 引數 'provider_name' 代表登錄中指定的 OLE DB Provider 的親和名稱之字元字串。provider_name 沒有預設值。 'datasource' 是對應到特殊 OLE DB 資料來源的字串常數。datasource 是要傳送到提供者 IDBProperties 介面以初始化提供者的 DBPROP_INIT_DATASOURCE 屬性。一般而言,此字串包括資料庫檔案名稱、資料庫伺服器名稱或提供者了解並用以尋找資料庫的名稱。 'user_id' 是要傳送到指定的 OLE DB Provider 的使用者名稱字串常數。user_id 指定連線的安全性內容且以 DBPROP_AUTH_USERID 屬性傳送以初始化提供者。 'password' 是要傳送到 OLE DB Provider 的使用者密碼字串常數。初始化提供者時,password 以 DBPROP_AUTH_PASSWORD 屬性傳送。 'provider_string' 是以 DBPROP_INIT_PROVIDERSTRING 屬性傳送以初始化 OLE DB Provider 的特定提供者連線字串。provider_string 一般會包含所有初始化提供者時需要的所有連線資訊。 catalog 是有指定物件的資料庫目錄或資料庫名稱。 schema 是指定物件的結構描述或物件擁有者名稱。 object 唯一指定要操作的物件之物件名稱。 'query' 傳送到提供者並由提供者執行的字串常數。MicrosoftR SQL Server? 不處理此查詢,但處理由提供者傳回的查詢結果 (傳遞查詢)。傳遞查詢用在不經由資料表名稱而只經由命令語言顯露其表格資料的提供者時,非常有用。只要查詢提供者支援 OLE DB Command 物件及其強制介面,遠端伺服器就支援傳遞查詢。如需詳細資訊,請參閱 SQL Server OLE DB Programmer's Reference。 備註 如果 OLE DB Provider 支援指定的資料來源中的多個目錄與結構描述,就需要資料庫目錄與結構描述名稱。如果 OLE DB Provider 不支援,可以省略 catalog 與 schema 的值。 如果提供者只支援結構描述名稱,必須指定 schema.object 格式之兩個部份的名稱。如果提供者只支援資料庫目錄名稱,必須指定 catalog.schema.object 格式之三個部份的名稱。 OPENROWSET 不接受變數作為其引數。 權限 OPENROWSET 權限由傳送到 OLE DB Provider 的使用者名稱的權限來決定。 範例 A. 使用有 SELECT 的OPENROWSET 與 Microsoft OLE DB Provider for SQL Server 以下範例使用 Microsoft OLE DB Provider for SQL Server,以存取命名為 seattle1 的遠端伺服器上 pubs 資料庫的 authors 資料表。從 datasource、user_id 與 password 初始化提供者,且使用 SELECT 來定義傳回的資料列集。 格式: SELECT a.* FROM OPENROWSET('SQLOLEDB’,'ServerName';'LoginUser';'Password', 'SELECT * FROM [DatabaseName].dbo.TableName ORDER BY ColName1, ColName12') AS a 说明:查询所提供的驱动程序(SQLOLEDB是查询SQL Server),查询SQL服务器ServerName下的Databasename中的数据TableName表中的数据(SQL语句),其实用户权限是LoginUser。 例子: USE pubs GO SELECT a.* FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass', 'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS a GO B. 使用有物件的 OPENROWSET 與 OLE DB Provider for ODBC 以下範例使用 OLE DB Provider for ODBC 與 SQL Server ODBC 驅動程式,來存取命名為 seattle1 的遠端伺服器上 pubs 資料庫的 authors 資料表。以 ODBC 提供者使用的 ODBC 語法指定之 provider_string 來初始化提供者,並使用 catalog.schema.object 語法來定義傳回的資料列集。 格式:这连接方式是ODBC数据的驱动程序 SELECT a.* FROM OPENROWSET('MSDASQL', 'DRIVER={SQL Server};SERVER=ServerName;UID=LoginUser;PWD=Password, [DatabaseName].dbo.TableName) AS a ORDER BY ColName1, ColName12 USE pubs GO SELECT a.* FROM OPENROWSET('MSDASQL', 'DRIVER={SQL Server};SERVER=seattle1;UID=sa;PWD=MyPass', pubs.dbo.authors) AS a ORDER BY a.au_lname, a.au_fname GO C. 使用 Microsoft OLE DB Provider for Jet 以下範例藉由Microsoft OLE DB Provider for Jet 存取 Microsoft Access Northwind 資料庫中的 orders 資料表。 1.附註 以下範例假設已經安裝 Access。 1、 USE pubs GO SELECT a.* FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\MSOffice\Access\Samplesorthwind.mdb';'admin';'mypwd', Orders) AS a GO 2、 select * from openrowset('Microsoft.Jet.OLEDB.4.0', 'E:\Study\Access\test.mdb';'admin';'','select * from student') 或 SELECT a.* FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0', 'E:\Study\Access\test.mdb';'admin';'', student) AS a 2.是以Excel为例,必须安装了Excel select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=G:\WorkEveryDay\DayDo\OrderList',OrderList$) DATABASE=G:\WorkEveryDay\DayDo\OrderList'是Excel的表名及路径 ,OrderList$是工作区的名字MICROSOFT.JET.OLEDB.4.0是Excel的驱动程序,也可以用MICROSOFT.JET.OLEDB.5.0,MICROSOFT.JET.OLEDB.8.0,我测试所用的window 2003及SQL Server 2000其中OrderList$所面的$不能少,要不能报错,$是代表是工作区3.以VFP(DBF文件名) select * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=D:\','select * from [temp.DBF]') 说明:SourceType是数据源类型,SourceDB是数据源,后面是操作DBF的SQL查询语句。 D. 使用 OPENROWSET 與 INNER JOIN 中的其他資料表 以下範例選取儲存在相同電腦上 SQL Server Northwind 資料庫的 customers 資料表的所有資料,以及 Access Northwind 資料庫的 orders 資料表的所有資料。 附註 以下範例假設已經安裝 Access。 USE pubs GO SELECT c.*, o.* FROM Northwind.dbo.Customers AS c INNER JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\MSOffice\Access\Samplesorthwind.mdb';'admin';'mypwd', Orders) AS o ON c.CustomerID = o.CustomerID GO E.将存储过程的记录集插入到虚拟表中(执行的存储不策有全局虚拟表) 如: SELECT * into #t FROM OPENQUERY([192.168.42.43], 'exec [Order].dbo.Or_Select_BackListDetail ''BK0607190001''') 如下:就会报错,必须先建表create table #t,而且此虚拟表的参数一定要与存储过程的参数一样。 Insert into #t exec [Order].dbo.Or_Select_BackListDetail 'BK0607190001' F:将打开的相应的文件(dbf,exec等等),从SQL里插入数据进行 insert into --select * from openrowset('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=d:\', 'select * from temp.DBF') select top 100 orderno,shipto from ordermaster 注: 1、两数字段结构一样(长度、类型) 2、保证导出表没有为null或空的字段 3、将你上面的语句改为下面的select * from tmp.DBF,就是不要那个[] OpenDataSource、OPENQUERY、OPENROWSET用法
发表评论
-
oracle存储过程编译卡死(资源dll锁)
2017-06-02 09:40 1796今天频繁编译一个存储过程时突然编译不 ... -
ORACLE 分析函数
2016-10-14 15:06 0引自 http://blog.csdn.net/haiross ... -
ORA-00376: 此时无法读取文件
2015-05-14 11:45 2296ORA-00376: 此时无法读取文件 4ORA-01 ... -
ORACLE解码/编码URL数据
2015-04-28 10:17 2745utl_url.escape这个方法必须放在一个函数中才能调 ... -
ORACLE数据泵 expdp/impdp使用详解(转)
2015-04-16 18:04 2715ORACLE使用EXPDP和IMPDP数据泵进行导出导入的方 ... -
ORACLE按周统计数据
2015-02-10 18:33 870oracle数据库默认的每周开始日期是周一,日常分析中往往需 ... -
sqlldr参数
2015-01-29 14:56 0有效的关键字: userid -- ORACLE use ... -
oracle 此处不允许序列
2014-11-13 14:04 1847一个插入语句,这样写报错:此处不允许序列 insert ... -
ORACLE检查字符是否为数字
2014-11-13 13:48 766select gid,gname from t_dw_fl ... -
ORACLE巡检后编译失效对象
2014-11-07 09:36 836检查失效对象: select owner,object_ ... -
为什么我的win7 ODBC数据源里没有Oracle的驱动程序
2013-05-30 17:29 3754直接在“控制面板---管理工具----数据源(ODBC)” ... -
亿赛通面试
2013-04-02 11:05 956iostate,netstate概念用途 ... -
SQL去掉重复数据只留一条
2013-02-27 15:13 1360select distinct khh,khjlh,jlrq ... -
linux下启动dbca或netmgr类的图形界面报错
2013-01-25 16:53 3611Xlib: connection to ":0 ... -
Sybase IQ 自定义表备份
2013-01-21 08:59 1910-- 初始化配置表if object_id('t_sz_ba ... -
LINUX top命令结果分析
2012-08-24 10:22 3823top命令是Linux下常用的性能分析工具,能够实时显示系统中 ... -
SYBASE IQ 查看字符集 系统状态
2012-07-17 11:12 3104查看数据库字符集: select db_property(' ... -
mysql存储过程 游标
2012-06-21 12:27 1679create table table1(id int,name ... -
red hat 5 Enterprise 入门
2012-06-04 19:35 0今天想在linux环境下搭建个oracle10G环境方 ... -
oracle OCP认证——准备篇
2012-05-30 11:22 1282本人一直从事数据库开发工作,说白了也就是编写存储过程, ...
相关推荐
例如,CONTAINS TABLE、FREETEXTTABLE、OPENDataSource、OPENQUERY、OPENROWSET和OPENXML等函数可以用于数据转换。其中,OPENDataSource函数可以不使用链接服务器名而直接提供特殊连接信息,该信息允许用户在...
我们可以使用多种方法来连接 Oracle 数据库,包括使用 OPENDATASOURCE、链接服务器、OPENQUERY 和 ODBC 等。同时,我们也需要注意解决 Ad Hoc Distributed Queries 访问限制,以便实现数据交换和集成。
深度探讨数据库同步的基本概念、技术原理以及实现方法,特别是SQL Server中的链接服务器功能,包括`sp_addlinkedserver`、`sp_addlinkedsrvlogin`、`openrowset`、`openquery`和`opendatasource`的使用技巧。...
OPENROWSET函数的使用方法与OPENDATASOURCE类似,也包含provider_name、datasource、username和password参数,不同之处在于OPENROWSET还支持将查询语句作为参数直接传入。 需要注意的是,这两种方法在安全性方面...
本文将详细解析两种主要的方法:使用链接服务器和通过OpenRowset/OpenQuery/OpenDataSource函数。 首先,**链接服务器**是SQL Server提供的一种机制,允许用户在本地服务器执行查询,同时访问远程数据库中的数据。...
使用 SQL Server 将表从一个数据库复制到另一个数据库可以使用多种方式,包括创建链接服务器、使用 openrowset、使用 openquery、使用 opendatasource 等。每种方式都有其优缺,选择哪种方式取决于具体的应用场景。
本文详细介绍了如何使用T-SQL语句来实现不同数据库之间的数据操作,包括创建链接服务器、使用`OPENROWSET`、`OPENQUERY`和`OPENDATASOURCE`等方法。这些技术在实际开发中非常有用,尤其是在需要进行数据同步或迁移的...
本文将深入探讨如何在不同服务器数据库之间进行数据操作,主要涉及创建链接服务器、使用`openrowset`、`openquery`和`opendatasource`等方法。 首先,创建链接服务器是实现跨服务器数据访问的基础。`sp_...
本文详细介绍了如何在不同的服务器数据库之间执行数据操作,包括创建链接服务器、查询远程数据、导入数据、删除链接服务器以及使用 `OPENROWSET`、`OPENQUERY` 和 `OPENDATASOURCE` 等方法。这些技术对于实现跨...
表名 --以后不再使用时删除链接服务器 exec sp_dropserver '链接名', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 select * from openrowset( 'SQLOLEDB...
2. **OpenQuery 用法需要创建一个连接**: - 通过`OPENQUERY`执行远程查询。 ```sql SELECT * FROM OPENQUERY(remote_server, 'SELECT * FROM remote_table'); ``` 3. **OpenDataSource/OpenRowSet**: - 通过`...
SQL Server 提供了多种方式来实现远程数据库连接,包括创建链接服务器(Linked Servers)、使用 `OPENROWSET`、`OPENQUERY` 和 `OPENDATASOURCE` 函数等。这些方法各有优势,适用于不同场景下的数据访问需求。 ####...
`OpenQuery`与`OpenRowSet`类似,但它提供了更强大的查询能力,允许执行更复杂的查询语句。 **示例代码**: ```sql -- 创建链接服务器(如果未创建的话) EXEC sp_addlinkedserver @server = 'ITSV', @srvproduct...
SQL 远程数据库操作详解 SQL 远程数据库操作是指在不同的服务器之间进行数据的交互和共享,例如跨服务器...链接服务器、openrowset 函数、openquery 函数和 opendatasource 函数是常用的方法来连接远程数据库服务器。
除了直接使用链接服务器外,还可以通过`OPENROWSET`、`OPENQUERY`和`OPENDATASOURCE`等功能来实现跨服务器数据操作。 - **OPENROWSET**: 可以用来从远程服务器检索数据并返回结果集。 - **查询示例**: ```sql ...
`OpenQuery`类似于`OpenRowSet`,但它允许执行更复杂的查询语句。它主要用于从远程数据源执行SQL查询。 **查询示例:** ```sql SELECT * FROM OPENQUERY(srv_lnk, 'SELECT * FROM database_name.dbo.table_name')...
通过合理利用SQL Server提供的`sp_addlinkedserver`、`OpenRowSet`、`OpenQuery`和`OpenDataSource`等功能,可以有效地提高系统的灵活性和可用性。同时,正确管理和维护这些链接服务器和登录映射也是确保数据安全性...
2. **使用OPENDATASOURCE/OPENROWSET/OPENQUERY**: - **OPENDATASOURCE**:可以用来直接执行一个查询,其语法类似`SELECT * FROM OPENDATASOURCE ('SQLOLEDB', 'Data Source=DestinationServerIP;User ID=UserName...