string ls_sql,ls_fileName
int li_fileNo,ll_number
long ll_fileLength
SQLCA.AUTOCOMMIT=TRUE
ls_fileName = trim("procedure.sql")
ll_fileLength = FileLength(ls_fileName)
IF ll_fileLength > 32765 THEN
st_7.text = "腳本檔案太大!"
DISCONNECT USING SQLCA;
RETURN
ELSEIF ll_fileLength >0 THEN
li_fileNo = FileOpen(ls_fileName,StreamMode!)
ll_number = FileRead(li_fileNo,ls_sql)
IF ll_number > 0 AND ll_number <= 32765 THEN
SQLCA.AutoCommit = True
EXECUTE IMMEDIATE :ls_sql Using SQLCA;
SQLCA.AutoCommit = False
st_7.text = "創建資料庫結構成功!"
END IF
FileClose(li_fileNO)
ELSE
st_7.text = "打開腳本檔案出錯,請輸入正確的表結構腳本檔案名稱!"
DISCONNECT USING SQLCA;
RETURN
END IF
EXECUTE IMMEDIATE :ls_sql USING SQLCA;
SQLCA.AUTOCOMMIT=FALSE
以上是我的一段代碼,執行沒報錯,但是資料庫中的存盤程序還是沒有創建成功啊,各位學長幫我看看,謝謝!
uj5u.com熱心網友回復:
ll_fileLength 判斷腳本長度應在讀取檔案后再判斷,你開始都沒讀取檔案怎么判斷的?
uj5u.com熱心網友回復:
FileLength()功能得到指定檔案的長度(以位元組為單位)。
不是在打開之前也能算出該檔案的長度嗎
uj5u.com熱心網友回復:
你有沒有跟蹤除錯過?uj5u.com熱心網友回復:
一、在EXECUTE前,檢查一下ls_sql的值MessageBox("sql",ls_sql),看一下讀取的內容是否正確
二、執行EXECUTE后,根據SQLCA.SQLDBCode和SQLCA.SQLErrText的值,判斷執行是否有錯,以及錯誤的資訊
相信有了以上二步,應該能解決你的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/57132.html
標籤:腳本語言
上一篇:新手求助,望大神賜教
