DBAsupport.com Forums - Powered by vBulletin
Results 1 to 2 of 2

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

  1. #1
    Join Date
    Jul 2013
    Posts
    1

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

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

    std::string str = "Driver={Oracle in instantclient11_1};Dbq=//10.10.101.66:1521/orcl;;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: //10.10.101.66:1521/orcl
    User ID: myUser

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

    I cannot figure out what's my problem.

    Thanks,
    Roy.

  2. #2
    Join Date
    Sep 2002
    Location
    England
    Posts
    7,334
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    "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