連線到 Oracle Database (OracleToSQL)

若要將 Oracle Database 移轉到 SQL Server,您必須先連線到要移轉的 Oracle Database 。 當您連線時,SSMA 會取得所有 Oracle 結構描述的相關中繼資料,然後在 [Oracle 中繼資料總管] 窗格中顯示。 SSMA 會儲存資料庫伺服器的相關資訊,但不會儲存密碼。

您會與資料庫持續維持連線,直到您關閉專案為止。 當您重新開啟專案時,如果您想要有使用中連線至資料庫,則必須重新連線。

Oracle 資料庫 的相關中繼資料不會自動更新。 相反地,如果您想要更新 Oracle 中繼資料總管中的中繼資料,您必須手動更新。 如需其他資訊,請參閱稍後本文內容中的重新整理 Oracle 中繼資料一節。

必要的 Oracle 權限

至少,用來連線到 Oracle Database 的帳戶必須擁有下列權限:

權限 描述
CONNECT 連線 (建立工作階段) 至資料庫所需的必要項目。
SELECT ANY DICTIONARY 查詢系統字典資料表 (例如,SYS.MLOG$) 以便探索所有物件所需的必要項目。

這可讓 SSMA 載入連接使用者所擁有的結構描述之中的所有物件。 在大部分的實際案例中,預存程序和 SSMA 之間有跨結構描述參考,必須能夠探索所有參考的物件,才能成功轉換。 若要取得在其他結構描述中定義的物件中繼資料,帳戶必須擁有下列額外權限:

權限 描述
SELECT ANY TABLE 探索其他結構描述中的資料表、檢視表、具體化檢視和同義字所需的必要項目。
SELECT ANY SEQUENCE 探索其他結構描述中的序列所需的必要項目。
CREATE ANY PROCEDURE 對於其他結構描述中的程序、函式和套件探索 PL/SQL 所需的必要項目。
CREATE ANY TRIGGER 探索其他結構描述中的觸發程序定義所需的必要項目。
CREATE ANY TYPE 探索其他結構描述中定義的類型所需的必要項目。

某些 SSMA 功能需要額外的權限。 例如,如果您想要使用測試器備份管理功能,您必須授與連線使用者下列項目權限:

權限 描述
EXECUTE ANY PROCEDURE 執行您想要執行在所有結構描述中測試的程序和函式所需的必要項目。
CREATE ANY TABLEALTER ANY TABLE 建立和修改變更追蹤和備份的暫存資料表所需的必要項目。
INSERT ANY TABLEUPDATE ANY TABLE 將變更追蹤和備份資料插入暫存資料表所需的必要項目。
DROP ANY TABLE 卸除用於變更追蹤和備份的暫存資料表所需的必要項目。
CREATE ANY INDEXALTER ANY INDEX 建立和修改用於變更追蹤和備份的暫存資料表上的索引所需的必要項目。
DROP ANY INDEX 卸除用於變更追蹤和備份的暫存資料表上的索引所需的必要項目。
CREATE ANY TRIGGERALTER ANY TRIGGER 建立和修改用於變更追蹤的暫時觸發程序所需的必要項目。
DROP ANY TRIGGER 卸除用於變更追蹤的暫時觸發程序所需的必要項目。

這是 SSMA 正常運作所需的一組一般權限。 如果您想要將移轉範圍縮小至結構描述子集的範圍,您可以將上述權限授與有限的物件集,而不是 ALL。 在可能的情況下,可能很難正確識別所有相依性,因而防止 SSMA 正常運作。 強烈建議您繼續使用先前定義的泛型集合,以消除移轉程序期間的任何潛在權限問題。

建立 Oracle 的連線

當您連線到資料庫,SSMA 會讀取資料庫中繼資料,然後將此中繼資料新增至專案檔。 當 SSMA 將物件轉換成 SQL Server 或語法,以及將資料移轉到 SQL Server 時,SSMA 會使用此中繼資料。 您可以在 [Oracle 中繼資料總管] 窗格中瀏覽此中繼資料,並檢閱個別資料庫物件的屬性。

重要

嘗試連線之前,請確定資料庫伺服器正在執行,並且接受連線。

連線到 Oracle

  1. 在 [檔案] 功能表上,選取 [連線至 Oracle]。

    如果您先前已連線至 Oracle,則命令名稱會是重新連線至 Oracle

  2. 在 [提供者] 方塊中,根據安裝的提供者,選取 [Oracle 用戶端提供者] 或 [OLE DB 提供者]。 預設值為 Oracle 用戶端。

  3. 在 [模式] 方塊中,選取 [標準模式]、[TNSNAME 模式] 或 [連接字串模式]。

    使用標準模式來指定伺服器名稱和連接埠。 使用服務名稱模式,手動指定 Oracle 服務名稱。 使用連接字串模式,提供完整的連接字串。

  4. 如果您選取 [標準模式],則請提供下列值:

    1. 在 [伺服器名稱] 方塊中,輸入或選取資料庫伺服器的名稱或 IP 位址。

    2. 如果資料庫伺服器未設定成接受預設連接埠 (1521) 的連線,則請在伺服器連接埠方塊中輸入用於 Oracle 連線的連接埠號碼。

    3. 在 [Oracle SID] 方塊中,輸入系統識別碼。

    4. 在 [使用者名稱] 方塊中,輸入具有必要權限的 Oracle 帳戶。

    5. 在 [密碼] 方塊中,輸入所指定使用者名稱的密碼。

  5. 如果您選取 [TNSNAME 模式],則請提供下列值:

    1. 在 [連線識別碼] 方塊中,輸入資料庫的 TNS 別名 (連線識別碼)。
    2. 在 [使用者名稱] 方塊中,輸入具有必要權限的 Oracle 帳戶。
    3. 在 [密碼] 方塊中,輸入所指定使用者名稱的密碼。
  6. 如果您選取了 [連接字串模式],請在 [連接字串] 方塊中提供連接字串。

    下列範例顯示 OLE DB 連接字串:

    Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;

    下列範例顯示使用整合式安全性的 Oracle 用戶端連接字串:

    Data Source=MyOracleDB;Integrated Security=yes;

    如需詳細資訊,請參閱連線到 Oracle (OracleToSQL)

重新連線到 Oracle

您會與資料庫伺服器持續保持連線,直到您關閉專案為止。 當您重新開啟專案時,如果您想要有使用中連線至資料庫,則必須重新連線。 在您想要更新中繼資料、將資料庫物件載入 SQL Server,以及移轉資料前,都可以離線工作。

更新 Oracle 中繼資料

Oracle Database 的相關中繼資料不會自動重新整理。 Oracle 中繼資料總管中的中繼資料是您第一次連線,或上次手動重新整理中繼資料時中繼資料的快照集。 您可以手動更新所有結構描述、單一結構描述,或個別資料庫物件的中繼資料。

重新整理中繼資料

  1. 請確認您已連線至資料庫。

  2. 在 Oracle 中繼資料總管中,選取您要更新之每個結構描述或資料庫物件旁的核取方塊。

  3. 以滑鼠右鍵按一下 [結構描述],或個別的結構描述構或資料庫物件,然後選取 [從資料庫重新整理]。 如果您沒有作用中的連線,SSMA 會顯示連線到 Oracle對話方塊,以便進行連線。

  4. 在 [從資料庫重新整理] 對話方塊中,指定要重新整理的物件。

    • 若要重新整理物件,請選取與物件相鄰的作用中欄位,直到出現箭號為止。
    • 若要避免系統重新整理物件,請選取與物件相鄰的作用中欄位,直到 X 出現為止。
    • 若要重新整理或拒絕物件的類別,請選取與類別資料夾相鄰的作用中欄位。

    若要檢視色彩編碼的定義,請選取 [圖例] 按鈕。

  5. 選取 [確定]。

後續步驟

另請參閱