久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

SQL Server 2005 - 善用 OPENROWSET 函數來存取大型對象(LOB)

瀏覽:153日期:2023-10-31 12:25:50

我們在「Visual Basic 2005 檔案 IO 與資料存取秘訣」一書的第七章,詳細探討了如何于前端程序處理大型對象(LOB)。有讀者詢問,SQL Server 2005 本身是否提供任何的 Transact-SQL 陳述式來處理 LOB 呢?答案當然是肯定的,而且具備相關處理能力的 Transact-SQL 陳述式還不只一個。不過在本文中,我們將把焦點擺在 OPENROWSET 函數。

SQL Server 2005 的 OPENROWSET 函數能夠一次就完成遠程數據的連結與存取作業。OPENROWSET 函數在使用的形式上就好比是一個資料表,比方說,您可以在 SELECT 陳述式的 FROM 子句中參考 OPENROWSET 函數,此外,視 OLE DB 提供者的能力而定,您也可以在 INSERT、UPDATE 或 DELETE 陳述式中把 OPENROWSET 函數當成目標數據表來使用。

特別值得一提的是,SQL Server 2005 替 OPENROWSET 函數加入了 BULK 數據列集提供者,使得您可以直接從文字文件、XML 文件、以及圖檔…等檔案中讀取數據。此意味著,從現在開始,您可以在一道非常簡單的 INSERT INTO…SELECT 陳述式中使用 OPENROWSET 函數來將內含大量數據的檔案內容存入數據表的字段中。

OPENROWSET BULK 選項自變量可以精確控制數據讀取的開始與結束位置、如何處理錯誤、以及資料要如何被解譯。比方說,您可以要求將數據文件讀取成 varbinary、varchar 或 nvarchar 型別的單一數據列與單一字段的數據列集。

我想光說不練是沒有用的在,以下的程序代碼中,我們會先建立一個數據表,然后使用 INSERT INTO…SELECT 陳述式來新數據記錄。請特別注意我們如何使用 OPENROWSET 函數將文字文件(.txt)與圖檔(.jpg)的內容直接存入數據表的「自傳」與「玉照」字段中:

USE 北風貿易;GO

IF; EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.練習資料表') AND type in (N'U'))DROP TABLE dbo.練習資料表GO

--建立數據表CREATE TABLE dbo.練習資料表(編號 int IDENTITY(1,1) NOT NULL,姓名 nvarchar(10) NULL,性別 nvarchar(2) NULL,自傳 nvarchar(max) NULL,玉照 varbinary(max) NULL,);GO

--新增第一筆數據(包括 NCLOB 與 BLOB 在內)INSERT INTO dbo.練習資料表(姓名, 性別,自傳,玉照)SELECT '章立民' AS 姓名, '男' AS 性別,* FROMOPENROWSET (BULK 'C:TempEmployee-A156401174.txt', SINGLE_NCLOB) AS 自傳, OPENROWSET (BULK 'C:TempEmployee-A156401174.jpg', SINGLE_BLOB) AS 玉照;GO

--新增第二筆數據(包括 NCLOB 與 BLOB 在內)INSERT INTO dbo.練習資料表(姓名, 性別,自傳,玉照)SELECT '章立民' AS 姓名, '男' AS 性別,* FROMOPENROWSET (BULK 'C:TempEmployee-A156401174.txt', SINGLE_NCLOB) AS 自傳, OPENROWSET (BULK 'C:TempEmployee-A156404535.jpg', SINGLE_BLOB) AS 玉照;GO

章立民研究室敬上

http://www.cnblogs.com/liminzhang/archive/2006/10/18/532140.html

標簽: Sql Server 數據庫
主站蜘蛛池模板: 梅州市| 克什克腾旗| 依兰县| 西华县| 沿河| 托克逊县| 苏州市| 陈巴尔虎旗| 沈阳市| 紫金县| 榆社县| 泸水县| 临高县| 金坛市| 云安县| 白水县| 五峰| 教育| 邛崃市| 刚察县| 涿鹿县| 开阳县| 牟定县| 南开区| 浮梁县| 宝山区| 和龙市| 瓮安县| 年辖:市辖区| 庄河市| 汉中市| 长武县| 马关县| 封丘县| 嵊州市| 葵青区| 祁阳县| 大新县| 新乐市| 光泽县| 湟中县|