PL/SQL插入數據報錯:Access violation at address 00413A81 in module 'plsqldev.exe'. Read of address 00000000


前言

今天同事在使用plsql給oracl數據庫插入記錄時報錯:Access violation at address 00413A81 in module 'plsqldev.exe'. Read of address 00000000,百度查詢大致有三種說法:

  1. 內存越界的問題,需要重新注冊Windows的動態鏈接庫
  2. oracle client版本問題需要重裝plsql和oracle clinet
  3. 是tnsnames.ora文件格式不正確,ORACLE連接名不可使用中文字符,不可以存在空格

但是我這里最終解決方法跟上面三種均不相同,注意報錯信息查看仔細。

一、報錯信息

二、錯誤排查

插入記錄保存時報錯,想到上周有對plsql的時間設置做過調整,而且恰好是帶有時間的記錄插入報錯,猜想可能是plsql時間格式造成的,所以嘗試把記錄中含有時間的字段內容去掉,發現去掉時間字段的記錄能正常插入保存,基本確定是時間格式問題。

下圖是部分表內容(圖片是調整了plsql時間格式之后的圖片,調整之前時間字段里面的內容全不顯示)

查看plsql時間設置,如下圖,果然之前將日期/時間格式設置成了自定義但是未設置具體參數,所以plsql中表的日期/時間字段不能正常顯示,插入時也報錯。

三、對症下葯

修改plsql日期/時間格式為窗口格式,應用--確定 重啟plsql連接數據庫,表中日期/時間字段能正常顯示,插入也能正常保存。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM