0xdb
0xdb

Reputation: 3697

dbext does not recognize statement terminator with dbi / oracle settings

I trying to use gVim with dbext plugin. The settings in my _vimrc are:

let g:dbext_default_profile_myoradb = 'type=DBI:driver=Oracle:user=ora1:passwd=ora1:conn_parms=myoradbr:driver_parms=AutoCommit=0;CommitOnDisconnect=0'
let g:dbext_default_profile = 'myoradb'

if i execute simple statement in my buffer e.g.: SELECT * FROM emp;

I get the following message:

Connection: T(DBI)  I(Oracle)  C(myoradbr) P(AutoCommit=0;CommitOnDisconnect=0)  U(ora1)   at 14:59
E. DBQp:SQLCode:911:ORA-00911: invalid character (DBD ERROR: error possibly near <*> indicator at char 21 in '    SELECT * FROM emp<*>;'):S1000
To change connection parameters:
:DBPromptForBufferParameters
Or
:DBSetOption user|passwd|dsnname|srvname|dbname|host|port|...=<value>
:DBSetOption user=tiger:passwd=scott
Last command(rc=0):
perl DBI
Last SQL:
SELECT * FROM emp;

Without ';' or in the visual mode (if ';' not a part of the selection) it works fine. It seems that the dbext does not recognize the semicolon on the end of statement.

Global cmd_terminator seems properly set to ';'

:DBGetOption
Connection: T(DBI)  I(Oracle)  C(myoradbr) P(AutoCommit=0;CommitOnDisconnect=0)  U(ora1)   at 15:03

------------------------
** Connection Options **
------------------------`
profile = myoradb
type = DBI
integratedlogin = 
user = ora1
passwd = ora1
dsnname = 
srvname = 
dbname = 
host = 
port = 
extra = 
bin_path = 
login_script = 
driver = Oracle
conn_parms = myoradbr
driver_parms = AutoCommit=0;CommitOnDisconnect=0
cmd_terminator = ;

What goes wrong? The google search returns nearly nothing.

Upvotes: 2

Views: 221

Answers (1)

0xdb
0xdb

Reputation: 3697

I mailed the plugin maintainer. Ending a statement with a semicolon is not working now. The change to get it fixed will be part of release 24.00.

Upvotes: 2

Related Questions