Пример #1
0
 protected function getSQLRelayCursor($sql, $array = null)
 {
     $cur = sqlrcur_alloc($this->_conn);
     if ($array) {
         list($sql, $array) = SQLBind::parseSQL($this->_connectionManagement, $sql, $array);
         sqlrcur_prepareQuery($cur, $sql);
         $bindCount = 1;
         foreach ($array as $key => $value) {
             $field = strval($bindCount++);
             sqlrcur_inputBind($cur, $field, $value);
         }
         $success = sqlrcur_executeQuery($cur);
         sqlrcon_endSession($this->_conn);
     } else {
         $success = sqlrcur_sendQuery($cur, $sql);
         sqlrcon_endSession($this->_conn);
     }
     if (!$success) {
         throw new DatasetException(sqlrcur_errorMessage($cur));
     }
     sqlrcur_lowerCaseColumnNames($cur);
     return $cur;
 }
function da_sql_pconnect($config)
{
    $retrytime = 0;
    if ($config[sql_use_http_credentials] == 'yes') {
        global $HTTP_SERVER_VARS;
        $SQL_user = $HTTP_SERVER_VARS["PHP_AUTH_USER"];
        $SQL_passwd = $HTTP_SERVER_VARS["PHP_AUTH_PW"];
    } else {
        $SQL_user = $config[sql_username];
        $SQL_passwd = $config[sql_password];
    }
    if ($config[sql_connect_timeout] != 0) {
        $retrytime = $config[sql_connect_timeout];
    }
    if ($config[sql_debug] == 'true') {
        print "<b>DEBUG(SQL,SQLRELAY DRIVER): Connect: Host={$config['sql_server']},Port={$config['sql_port']},User={$SQL_user},Password={$SQL_passwd} </b><br>\n";
    }
    $link[con] = sqlrcon_alloc($config[sql_server], $config[sql_port], '', $SQL_user, $SQL_passwd, $retrytime, 1);
    if ($link[con]) {
        sqlrcon_debugOn($link[con]);
        $link[cur] = sqlrcur_alloc($link[con]);
        if ($link[cur]) {
            sqlrcur_setResultSetBufferSize($link[cur], 4);
            sqlrcur_lowerCaseColumnNames($link[cur]);
            return $link;
        } else {
            return false;
        }
    } else {
        return false;
    }
}