2012-08-13 98 views
1

我想從sybase-iq上的腳本創建表。 腳本table.sql包含:在sybase-iq上使用create table運行腳本

create table abc 
(
id int 
) 
go 

我運行腳本命令

isql -U*** -P*** -S*** -D*** -itable.sql -oout.txt 

我敢肯定,連接參數都OK。腳本的名字也是正確的。

但它不起作用,腳本沒有創建表,我沒有輸出文件中的任何錯誤。

在此先感謝您的建議。

PX

+0

您是否曾嘗試以交互方式首先運行腳本,以查看它是否有效。 – user1505078 2012-08-13 15:11:16

+0

是的,腳本工作正常。 – Parado 2012-08-14 07:04:21

回答

1

我找到了!

腳本是由isql生成的,選項爲-o,它是Macintosh格式! 我已經在np ++中看到過它。 我已經將格式更改爲DOS \ Windows,它的工作!

EOL出現問題。我有char(13)(Mac),但是正確的是char(13)+ char(10)(DOS)。

感謝您的回答!

0

在把一個語法錯誤,看看是否「走出去」被正確發現和聲明實際上是要在服務器上。你應該得到一個錯誤。

如果是那麼它是默認數據庫?我並不確定Sybase IQ具有不同的數據庫,如ASE,但是如果它確實如此,那麼您的登錄ID可能有一個默認數據庫,可將該選項卡安裝到不同的數據庫中?

+0

感謝您的回答! 我已經把一個語法錯誤,並沒有發生任何事。 我更改了isql命令中的文件名,並且出現「無法打開輸入文件」錯誤。 因此,isql需要的文件,但沒有別的 – Parado 2012-08-14 06:44:14

+0

然後肯定是有問題的「去」。在ASE上(即不是IQ),如果它之前有空格,將會失敗。)isql當它在行的開頭處讀取「go」時,將其作爲sql批處理的結尾,並將該sql發送到服務器。因爲當你有明顯錯誤的sql意味着「去」不起作用時,你沒有收到錯誤消息。我不能說智商,所以檢查isql肯定是一樣的。以交互方式試用isql - 「去」工作嗎? – 2012-08-14 08:50:20

+0

EOL出現問題。我有char(13),但是正確的是char(13)+ char(10)。 – Parado 2012-08-14 09:26:39