搜尋本站文章

2011-07-14

SSIS:設定文字檔的「不齊右(ragged)」:對文字檔案的各個資料行,指定適合的「固定寬度」(1)

適用環境:
SQL Server 2005、2008、2008 R2。

「不齊右(ragged)」檔案就是除了最後一個資料行之外,其他所有「資料行」都有固定寬度的檔案。
它是以資料列分隔符號分隔。
所以,需要在「資料行」頁面上,指定各個資料行的固定寬度。

--00



需求的範例如下:

1. 第 1 到 4 字元,以 4 個字元是為一組,輸入到指定的資料行內。
2. 第 5 到 7 字元,以 3 個字元是為一組,輸入到指定的資料行內。

3. 第 8 到 12 字元,以 5 個字元是為一組,輸入到指定的資料行內。

範例檔案的格式如下:

--01

--02



準備工作:
步驟01. 執行以下的範例程式碼,建立範例資料表與新增資料列:

-- 建立範例資料表:tragged01
USE Northwind
GO
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tragged01]') AND type in (N'U'))
DROP TABLE [dbo].[tragged01]
GO
CREATE TABLE [dbo].[tragged01](
rid INT IDENTITY PRIMARY KEY,
[c1] [char](4) NULL,
[c2] [char](3) NULL,
[c3] [char](5) NULL
) ON [PRIMARY]
GO
INSERT dbo.tragged01 VALUES('A123','456','78901')
INSERT dbo.tragged01 VALUES('B123','456','78901')
INSERT dbo.tragged01 VALUES('C123','456','78901')
GO

--
SELECT * FROM dbo.tragged01
GO

--03


練習一:使用「SQL Server 匯入和匯出精靈 」,匯入來源文字檔,使用「不齊右(ragged)」

完成目標:
設定來源文字檔案的「分欄符號」,也就是分隔線。
匯入到 SQL Server 資料庫內。

工作1:「SQL Server 匯入和匯出精靈 」

步驟01. 執行「SQL Server 匯入和匯出精靈 」。

步驟02. 在「選擇資料來源」視窗,輸入以下的參數:
在左邊窗格,點選「一般」頁籤。
在「資料來源」方塊,下拉選取:「一般檔案來源」。
在「檔案名稱」區域,點選「瀏覽」,選擇當做來源的文字檔案。

在「格式」方塊,下拉選取:「不齊右」。
在「標頭資料列分隔符號」方塊,下拉選取:「{CR}{LF}」。

--04


在左邊窗格,點選「資料行」頁籤。
在右邊的「來源資料行」區域,在下方的資料值區域。

在要做分隔的字元值處,按下滑鼠,應該會出現做為分隔字元值用的「分欄符號」,也就是分隔線。

--05


在左邊窗格,點選「進階」頁籤。
在右邊窗格的「設定每一個資料行的屬性」區域,分別檢視個別資料行的屬性設定。

--06 點選「資料行 0」


--07 點選「資料行 1」


--08 點選「資料行 2」


在「OutputColumnWidth」方塊,設定為:5。


在左邊窗格,點選「預覽」頁籤。

--09


點選「下一步」。

步驟03. 在「選擇目的地」視窗,連線到指定的目標伺服器,選擇指定目標資料庫,點選「下一步」。

步驟04. 在「選取來源資料表和檢視」視窗,設定以下的參數:

--10

在「目的地」區域,確認選取要做為匯入用的目標資料表。
點選「預覽」,檢視所取樣的來源資料,點選「關閉」。

--11


步驟05. 點選「編輯對應」,在「資料行對應」視窗,對個別資料行設定適當的參數:

在「對應」區域,在「目的地」方塊下方的<忽略>值,點選合適的資料行之名稱,並設定適當的資料類型、長度等屬性,點選「確定」。

--12

--13


點選「下一步」。

步驟06. 在「儲存並執行封裝」視窗,點選「立即執行」,點選「下一步」。

步驟07. 在「完成精靈」視窗,點選「完成」。

步驟08. 在「已成功執行」視窗,點選「關閉」。
--14


步驟09. 查詢與驗證匯入的資料表內容。
--15


練習二:使用「SQL Server 匯入和匯出精靈 」,匯出文字檔,使用「不齊右(ragged)」

完成目標:
由 SQL Server 匯出資料成文字檔案,各個資料行全緊密連接在一起。

工作1:「SQL Server 匯入和匯出精靈 」

步驟01. 執行「SQL Server 匯入和匯出精靈 」。

步驟02. 在「選擇資料來源」視窗,輸入以下的參數:
伺服器名稱:連線到目標伺服器。
資料庫:選擇目標資料庫。

點選「下一步」。

步驟03. 在「選擇目的地」視窗,輸入以下的參數:
在「目的地」方塊,下拉選取:「一般檔案目的地」。
在「檔案名稱」區域,點選「瀏覽」,設定匯出一般檔案的相關屬性。

在「格式」方塊,下拉選取:「不齊右」。

--16

點選「下一步」。

步驟04. 在「指定資料表複製或查詢」視窗,點選「從一個或多個資料表或檢視表複製資料」,點選「下一步」。

步驟05. 在「設定一般檔案目的地」視窗,輸入以下的參數:
在「來源資料表或檢視表」方塊,下拉選取:「dbo.tragged01」。
在「指定分隔目的地檔案的字元」區域,在「資料列分隔符號」方塊,下拉選取:「{CR}{LF}」。

--17

點選「預覽」,在「預覽資料」視窗,點選「確定」。

--18

點選「編輯對應」,在「資料行對應」視窗,輸入以下的參數:
在「目的地」區域,選擇「rid」,下拉選取:<忽略>。

點選「確定」。

--19


點選「下一步」。

步驟05. 在「儲存並執行封裝」視窗,點選「下一步」。

步驟06. 在「完成精靈」視窗,點選「完成」。

--20

步驟07. 在「已成功執行」視窗,點選「關閉」。

--21

步驟08. 檢視匯出的一般文字檔案。

--22

--23



參考資料:

選擇目的地 (SQL Server 匯入和匯出精靈)
http://msdn.microsoft.com/zh-tw/library/ms178430.aspx

選擇資料來源 (SQL Server 匯入和匯出精靈)
http://msdn.microsoft.com/zh-tw/library/ms189667.aspx

2011-07-02

安裝設定 FTP 伺服器:以 Windows Server 2008 R2 的 IIS 7.5 為例

作業系統版本:
Windows Server 2008 R2 中文企業版本。

IIS 7.5 是 Windows Server® 2008 R2 中的 Web 伺服器 (IIS) 角色,以及 Windows® 7 中的網頁伺服器。
藉由使用 IIS 系統管理工具 (例如 IIS 管理員),您可以設定網頁伺服器、站台和應用程式的設定。

IIS 7.5 中的可用網頁伺服器 (IIS) 角色服務之檔案傳輸通訊協定 (FTP) 伺服器功能

(1) FTP 伺服器:FTP 伺服器可使用 FTP 通訊協定來啟用用戶端與伺服器之間的檔案傳輸。 使用者可以使用 FTP 用戶端或具有 FTP 功能的網頁瀏覽器,建立 FTP 連線並傳輸檔案。

(2) FTP 服務:在網頁伺服器上啟用 FTP 發行。

(3) FTP 擴充性:啟用 FTP 擴充性功能的支援,例如自訂提供者、ASP.NET 使用者或 IIS 管理員使用者。

--01


--02


在 Windows Server 2008 R2 上安裝 IIS 7.5

根據預設,IIS 7.5 沒有安裝在 Windows Server® 2008 R2 中。
您可以使用伺服器管理員中的 [新增角色] 精靈,或使用命令列,來安裝 IIS 7.5 IIS。

當您安裝 Windows Server 2008 R2 時,可以執行 Server Core 安裝,這會進行 Windows Server 2008 R2 最基本的伺服器安裝。
例如,這種安裝不會安裝傳統 Windows 介面,因此您必須從命令提示字元設定伺服器。

在 Windows Server(R) 2008 R2 中安裝 IIS 7.5
您可以使用使用者介面 (UI) 或指令碼來執行此程序。
使用 UI
(1) 按一下 [開始],指向 [系統管理工具],然後按一下 [伺服器管理員]。
(2) 在 [角色摘要] 中,按一下 [新增角色]。
(3) 使用 [新增角色精靈] 新增網頁伺服器角色。

如果您是使用 [新增角色精靈] 來安裝 IIS,這是預設安裝,只具有最少的角色服務集合。
如果您需要其他 IIS 角色服務,例如 [應用程式開發] 或 [狀況及診斷],請確定在精靈的 [選取角色服務] 頁上有選取與所需功能相關聯的核取方塊。

--03


--04


--05




在安裝好「Microsoft FTP Service」服務後,接下來就可以來組態 FTP 站台。

工作1:啟動「Microsoft FTP Service」服務

步驟01. 執行「服務」,選擇「Microsoft FTP Service」服務。
--01


步驟02. 設定為啟動。

工作2:新增 FTP 站台

步驟01. 執行「Internet Information Services (IIS) 管理員」。

步驟02. 在左邊窗格,選擇目標伺服器。
--02


步驟03. 展開「站台」,點選「站台」,滑鼠右鍵,選擇「新增 FTP 站台」。
--03


步驟04. 在「站台資訊」視窗,輸入以下的參數值:
在「FTP 站台名稱」方塊:myFTP01。
在「內容目錄」區域,在「實體路徑」方塊,點選下拉圖示,在「瀏覽資料夾」視窗,選擇:C:\inetpub\ftproot,點選「確定」,點選「下一步」。
--04


步驟05. 在「繫結和 SSL 設定」視窗,輸入以下的參數值:
在「SSL」區域,勾選:「允許」。
點選「下一步」。
--05


步驟06. 在「驗證和授權資訊」視窗,輸入以下的參數值:
在「驗證」區域,勾選「匿名」與「基本」。
在「授權」區域,在「允許存取」方塊,下拉選取:「所有使用者」。
在「權限」區域,勾選「讀取」與「寫入」。
點選「完成」。
--06


工作3:測試 FTP 站台

步驟01. 在 Internet Explorer 瀏覽器中,輸入執行:ftp://127.0.0.1/。
--07


工作4:設定「上傳」資料夾的權限

步驟01. 先在 C:\inetpub\ftproot 上建立資料夾:UP。

步驟02. 執行「Internet Information Services (IIS) 管理員」。

步驟03. 展開指定的「FTP 站台」,選取目標資料夾:UP。
--08


步驟04. 滑鼠右鍵,選擇:「編輯權限」。
--09


步驟05. 在「UP - 內容」視窗,點選「安全性」頁籤。
--10


步驟06. 在「安全性」頁面,點選「編輯」,在「UP 的權限」視窗,點選「新增」。
選擇使用者:「IUSR」。
接受預設的權限。
點選「確定」。
--11


步驟07. 在「安全性」頁面,點選「確定」。
--12



本範例僅供用於測試練習,並未符合安全組態之建議規範。



在 Windows Server 2008 R2 版本上:

已經無法使用「Internet Information Services (IIS) 6.0 管理員」來管理 IIS 7.5 網頁伺服器或 FTP 伺服器。

--01


參考資料:

網頁伺服器 (IIS) 管理
http://technet.microsoft.com/zh-tw/library/cc754281%28WS.10%29.aspx

網頁伺服器 (IIS) 角色概觀
http://technet.microsoft.com/zh-tw/library/cc770634%28WS.10%29.aspx

IIS 7.5 中的可用網頁伺服器 (IIS) 角色服務
http://technet.microsoft.com/zh-tw/library/cc753473%28WS.10%29.aspx

在 Windows Server 2008 R2 上安裝 IIS 7.5
http://technet.microsoft.com/zh-tw/library/cc771209%28WS.10%29.aspx