DBAsupport.com Forums - Powered by vBulletin
Results 1 to 2 of 2
  1. #1
    Join Date
    Jul 2013

    calling SQLDriverConnect with ";" in password fails, same with ODBC works

    on a windows 2008 machine that has the Oracle instant client 11_1 installed ( i am calling SQLDriverConnect in the following way:

    std::string str = "Driver={Oracle in instantclient11_1};Dbq=//;;Uid=myUser;pwd=a;b";
    odbcRc = SQLDriverConnect(hdbc, NULL, (SQLTCHAR*)str.c_str(), str.size(), (SQLTCHAR*)szConnStrOut, 1024, &cbConnStrOut, SQL_DRIVER_NOPROMPT)) == SQL_ERROR);

    as long as the password contains no special chars (namely semicolon) it works fine. but when I try to use special chars in the password It stops working, with an invalid username/password error.
    State: 28000 Native error: 1017 Message: [Oracle][ODBC][Ora]ORA-01017: invalid username/password; logon denied

    i tried different variations of adding " (\") over the password, over the entire pwd=a;b or braces { but nothing seems to work.
    the thing is that using ODBC works! what I did was:

    open ODBC, go to System DSN tab, add "Oracle in instantclient11_1", then fill the following information:

    Data source name: Anything
    TNS Service Name: //
    User ID: myUser

    then i press test connection, enter the password "a;b"
    and it works!

    I cannot figure out what's my problem.


  2. #2
    Join Date
    Sep 2002

    "The PWD keyword should not include any of the special characters (see SQL_SPECIAL_CHARACTERS in SQLGetInfo Returned Values)."

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Click Here to Expand Forum to Full Width

We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.