2011-08-22 60 views
2

我有幾個SQL文件要導入。Oracle 10g - 數據庫導入無效字符

一個例子:

CREATE TABLE BB_Department (
    idDepartment number(2) , 
    DeptName varchar2(25) , 
    DeptDesc varchar2(100) , 
    DeptImage varchar2(25) , 
    CONSTRAINT dept_id_pk PRIMARY KEY(idDepartment)); 
insert into bb_department 
    values(1,'Coffee','Many types of coffee beans','coffee.gif'); 

http://localhost:8080/apex導入此我不斷收到 '無效字符' 錯誤。

看來,一次只能運行一條SQL語句。錯誤是由任何分號觸發的。

一些在線引用聲明它可能是字符轉換 - 但這似乎並非如此。

如何在Web界面中導入轉儲文件而不觸發此操作?

+0

你能更具體地告訴你如何導入SQL文件。看來你不使用正確的工具。 – Codo

+0

使用Apex web工具。你會建議什麼工具? – EarlyPoster

+0

Apex web工具有很多菜單和選項。你正在使用哪一個? – Codo

回答

2

我仍然不確定您使用的是哪種「Apex網絡工具」。我將假定它是Oracle 10g Express Edition(Oracle 10g XE)的Web界面。

如果我將您的SQL語句複製到一個文本文件並將其作爲SQL腳本上載,我可以無誤地運行它。它創建表並插入一行。分號恰好可以作爲語句分隔符。

關於交互式SQL命令頁面不能這麼說。如果它是編輯區域中的唯一命令(沒有分號或斜線),或者如果我第一次選擇命令(再次沒有分號或斜線),我可以成功運行命令。但是,該頁似乎無法運行多個命令(提供ORA-00911,ORA-00910,ORA-00933或ORA-00905)。

可能有些問題是由於瀏覽器不兼容導致的。使用Firefox 6,我無法運行或編輯SQL腳本。我可以看到未格式化的SQL文本,但它是隻讀的並且具有紅色背景。頂部的所有按鈕都已死(或者在Firefox的Javascript錯誤控制檯中引發異常)。隨着IE 9,它似乎工作。

通常,您可以在分隔線上使用分號或斜線來分隔Oracle SQL腳本中的命令。因此,這兩種:

insert into bb_department 
    values(1,'Coffee','Many types of coffee beans','coffee.gif'); 
insert into bb_department 
    values(2,'Sugar','Sweet','sugar.gif'); 

或者:

insert into bb_department 
    values(1,'Coffee','Many types of coffee beans','coffee.gif') 
/
insert into bb_department 
    values(2,'Sugar','Sweet','sugar.gif') 
/

如果你有一個BEGIN/END塊,無論是對一個匿名PL/SQL塊或存儲過程/函數/包,您必須使用削減。

運行SQL腳本的可靠工具是命令行工具SQL * plus。它絕對支持分號和斜線。除了SQL語句和PL/SQL塊之外,它還支持一些其他有用的命令。

一個圖形化,免費且有用的工具是SQL Developer(來自Oracle)。它支持SQL語句,PL/SQL塊和大多數SQL * plus命令。

+0

在主頁> SQL> SQL腳本>腳本編輯器上的在線界面(localhost:8080/apex for Express Edition)上載並運行腳本(使用分號)時,我會看到一個紅色屏幕,其中列出了一組查詢我正在嘗試執行。 – EarlyPoster

+0

在localhost Home> SQL> SQL Commands界面中使用Carriage Returns + /時觸發ORA-00922。有沒有可以下載到某處的SQL * Plus,或者是一個命令行工具,可以使用分號結尾加載文件?謝謝。 – EarlyPoster

+0

紅色背景是我在答案中寫到的瀏覽器不兼容性問題。嘗試切換到另一個brwoser。 SQL * plus:如果您安裝了Oracle 10g Express Edition,則應在「開始」菜單中包含「SQL命令行(SQL * Plus)」。否則,請下載並安裝Oracle客戶端軟件。它們都包含SQL * plus。 – Codo