2012-06-05 95 views
0

我使用MS Access數據庫在Java中製作程序。 改編剪斷我的程序JDBC Java ALTER TABLE語法錯誤

Statement s; 
String[] tabinfo = {"Albara", "TBala"}; 
s.execute("ALTER TABLE " + tabinfo[0] + " ALTER COLUMN " + 
    tabinfo[1] + " SET DEFAULT 0 "); 

我得到的是一個SqlException: ALTER TABLE syntax error的。我做錯了什麼?我擁有該文件的完整權限。表名和列名是正確的,因爲名稱是從數據庫元數據中提取的,我不修改系統表。

這是一個程序,修改我自己的一個數據庫,這個數據庫由我幾年前製作的程序使用,因此更改數據庫是不可能的。同樣出於問題的是使用Java,我的客戶端計算機不會安裝.Net framework 3.5,我不會去那裏做信息維護。

+2

首先確保它與Java/JDBC或Access有關。獲取alter table語句的完整字符串並直接在訪問中運行它。然後在這裏報告。 – Axel

+0

這個程序最初是用Visual Basic 2008編寫的。由於我的客戶端無法安裝.NET,所以程序被重寫爲Java。我可以改變表格,但不是現在。我正在使用與用於測試vb.net應用程序的db相同的未經修改的備份版本。 – Awel

+0

所以,如果你在以's.execute'開頭的行上放置一個斷點,然後複製Strings的內容,並直接在Acces中執行它,你會得到什麼? – Axel

回答