我見過有關使用PHP和ADO訪問ODBC數據庫的其他文章,但我不認爲我的問題已被問到PHP之外。我最近接管了一個項目,其中一個觸摸屏界面運行Windows XP,並使用一些與Java非常相似的專有歐洲編程語言來與PLC和機器接口。如果不關閉ODBC連接會發生什麼?
我們定期記錄來自各種傳感器的信息,然後使用該程序打開到ODBC數據庫的連接並存儲記錄。我的任務是跟蹤一個錯誤,在這個錯誤中,數據只是一次停止記錄幾天,沒有任何明顯的原因,我相信它與ODBC數據庫(可修復)或Windows和Windows之間的版本不兼容有關PLC(不可修復)。所以我先拍攝了可修復的照片。
程序創建一個新的ActiveXObject並使用ADO打開到數據庫的連接,將命令串在一起,執行它,然後關閉連接。它每次創建記錄都會執行所有這些操作,並且我試圖找出原始程序員是否有這樣做的原因,而不是創建adodb.Connection,打開它,然後爲每個數據記錄創建一個事務只有當用戶非常喜歡這個程序時才能寫和關閉它。
我能想到的唯一的事情是,他們擔心如果觸摸屏在斷開連接時斷電會發生什麼情況。那會做什麼?沒有人真正瞭解我們正在使用的這種幾乎是Java語言的任何內容,所以我無法確定程序關閉時ActiveXObjects會發生什麼情況。像這樣的事情會導致這些爲期幾天的錄製失誤,還是我完全吠叫錯了樹?