.Net Coreで、Dapper+Oracle.EntityFrameworkCore(or Oracle.ManagedDataAccess) NuGetパッケージを使い、OracleへSQLを発行する際、SQLをセミコロンで閉じていると、「ORA-00933: SQLコマンドが正しく終了されていません。」エラーが発生します。
SQLをセミコロンで閉じていても、SQLServer/PostgreSQLではエラーにならず、ORACLEだとエラーになるので、ORACLEを使い慣れていない人はハマる。
セミコロンで閉じたSQLを発行してExceptionが発生するケース
![](https://blog.unikktle.com/wp-content/uploads/2023/01/image-61.png)
セミコロンで閉じていないSQLを発行し正常終了するケース
![](https://blog.unikktle.com/wp-content/uploads/2023/01/image-62.png)
※Oracle.EntityFrameworkCore は Oracle.ManagedDataAccess と違い、ORACLE Client を別途インストールしなくても、OracleConnectionを実行できるので便利。
![](https://blog.unikktle.com/wp-content/uploads/2023/01/image-63.png)
コメント