# File lib/dbd/sqlanywhere/driver.rb, line 62
      def connect( dbname, user, auth, attr )
         conn = SA.instance.api.sqlany_new_connection()

         conn_str = ''
         
         unless dbname.nil?
            if dbname =~ /^[^=:;]+$/
               conn_str = "eng=#{dbname};"
            elsif dbname =~ /^[^=:;]+:[^=:;]+$/
               eng_name, db_name = dbname.split(":")
               conn_str = "eng=#{eng_name};dbn=#{db_name};"
            else
               conn_str = dbname;
               conn_str << ';' unless conn_str.length == 0 or conn_str[conn_str.length - 1, 1] == ';'
            end
         end

         unless user.nil?
            raise DBI::ProgrammingError.new("UID is specified twice. Once in the connection string AND once as a connect() parameter. It can only be specified once.") if conn_str =~ /uid=/i
            conn_str << "uid=#{user};"
         end

         unless auth.nil?
            raise DBI::ProgrammingError.new("PWD is specified twice. Once in the connection string AND once as a connect() parameter. It can only be specifed once.") if conn_str =~ /pwd=/i
            conn_str << "pwd=#{auth};"
         end 

         SA.instance.api.sqlany_connect(conn, conn_str)
         return Database.new(conn, attr)      
      end