示例#1
0
function &ew_Connect($info = NULL)
{
    $GLOBALS["ADODB_FETCH_MODE"] = ADODB_FETCH_BOTH;
    $conn = new mysqlt_driver_ADOConnection();
    $conn->debug = EW_DEBUG_ENABLED;
    $conn->debug_echo = FALSE;
    if (!$info) {
        $info = array("host" => EW_CONN_HOST, "port" => EW_CONN_PORT, "user" => EW_CONN_USER, "pass" => EW_CONN_PASS, "db" => EW_CONN_DB);
    }
    // Database connecting event
    Database_Connecting($info);
    $conn->port = intval($info["port"]);
    $conn->raiseErrorFn = 'ew_ErrorFn';
    $conn->Connect($info["host"], $info["user"], $info["pass"], $info["db"]);
    if (EW_MYSQL_CHARSET != "") {
        $conn->Execute("SET NAMES '" . EW_MYSQL_CHARSET . "'");
    }
    $conn->raiseErrorFn = '';
    // Database connected event
    Database_Connected($conn);
    return $conn;
}
示例#2
0
function ew_ConnectDb(&$info)
{
    $GLOBALS["ADODB_FETCH_MODE"] = ADODB_FETCH_BOTH;
    $GLOBALS["ADODB_COUNTRECS"] = FALSE;
    // Database connecting event
    Database_Connecting($info);
    $dbid = @$info["id"];
    $dbtype = @$info["type"];
    if ($dbtype == "MYSQL") {
        if (EW_USE_ADODB) {
            if (EW_USE_MYSQLI) {
                $conn = ADONewConnection('mysqli');
            } else {
                $conn = ADONewConnection('mysqlt');
            }
        } else {
            $conn = new mysqlt_driver_ADOConnection();
        }
    } elseif ($dbtype == "POSTGRESQL") {
        $conn = ADONewConnection('postgres7');
    } elseif ($dbtype == "MSSQL") {
        $conn = ADONewConnection('ado_mssql');
    } elseif ($dbtype == "ACCESS") {
        $conn = ADONewConnection('ado_access');
    } elseif ($dbtype == "ORACLE") {
        $conn = ADONewConnection('oci8');
        $conn->NLS_DATE_FORMAT = 'RRRR-MM-DD HH24:MI:SS';
    }
    $conn->debug = EW_DEBUG_ENABLED;
    $conn->debug_echo = FALSE;
    if ($dbtype == "MYSQL" || $dbtype == "POSTGRESQL" || $dbtype == "ORACLE") {
        $conn->port = intval(@$info["port"]);
    }
    if ($dbtype == "ORACLE") {
        $conn->charSet = @$info["charset"];
    }
    $conn->raiseErrorFn = $GLOBALS["EW_ERROR_FN"];
    if ($dbtype == "MYSQL" || $dbtype == "POSTGRESQL" || $dbtype == "ORACLE") {
        if ($dbtype == "MYSQL") {
            $conn->Connect(@$info["host"], @$info["user"], @$info["pass"], @$info["db"], @$info["new"]);
        } else {
            $conn->Connect(@$info["host"], @$info["user"], @$info["pass"], @$info["db"]);
        }
        if ($dbtype == "MYSQL" && EW_MYSQL_CHARSET != "") {
            $conn->Execute("SET NAMES '" . EW_MYSQL_CHARSET . "'");
        }
        if ($dbtype == "ORACLE") {
            // Set schema
            $conn->Execute("ALTER SESSION SET CURRENT_SCHEMA = " . ew_QuotedName(@$info["schema"], $dbid));
            $conn->Execute("ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'yyyy-mm-dd hh24:mi:ss'");
            $conn->Execute("ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT = 'yyyy-mm-dd hh24:mi:ss'");
        }
        if ($dbtype == "POSTGRESQL") {
            // Set bytea_output
            $ver = explode(".", @$conn->version["version"]);
            if (intval($ver[0]) >= 9) {
                // PostgreSQL 9
                $conn->Execute("SET bytea_output = 'escape'");
            }
        }
    } elseif ($dbtype == "ACCESS" || $dbtype == "MSSQL") {
        if (EW_CODEPAGE > 0) {
            $conn->charPage = EW_CODEPAGE;
        }
        if ($dbtype == "ACCESS") {
            $relpath = @$info["relpath"];
            $dbname = @$info["dbname"];
            $provider = @$info["provider"];
            $password = @$info["password"];
            if ($relpath == "") {
                $datasource = realpath($GLOBALS["EW_RELATIVE_PATH"] . $dbname);
            } elseif (substr($relpath, 0, 1) == ".") {
                // Relative path starting with "." or ".." (relative to app root)
                $datasource = ew_ServerMapPath($relpath . $dbname);
            } elseif (substr($relpath, 0, 2) == "\\\\" || strpos($relpath, ":") !== FALSE) {
                // Physical path
                $datasource = $relpath . $dbname;
            } else {
                // Relative to app root
                $datasource = ew_AppRoot() . str_replace("/", "\\", $relpath) . $dbname;
            }
            if ($password != "") {
                $connstr = $provider . ";Data Source=" . $datasource . ";Jet OLEDB:Database Password="******";";
            } elseif (strtoupper(substr($dbname, -6)) == ".ACCDB") {
                // AccDb
                $connstr = $provider . ";Data Source=" . $datasource . ";Persist Security Info=False;";
            } else {
                $connstr = $provider . ";Data Source=" . $datasource . ";";
            }
        } else {
            $connstr = @$info["connectionstring"];
        }
        $conn->Connect($connstr, FALSE, FALSE);
        // Set date format
        if ($dbtype == "MSSQL" && EW_DEFAULT_DATE_FORMAT != "") {
            $conn->Execute("SET DATEFORMAT ymd");
        }
    }
    //$conn->raiseErrorFn = '';
    // Database connected event
    Database_Connected($conn);
    $info["conn"] =& $conn;
}
示例#3
0
function &ew_Connect($info = NULL)
{
    $GLOBALS["ADODB_FETCH_MODE"] = ADODB_FETCH_BOTH;
    $GLOBALS["ADODB_COUNTRECS"] = FALSE;
    $conn = ADONewConnection('ado_mssql');
    $conn->debug = EW_DEBUG_ENABLED;
    $conn->debug_echo = FALSE;
    if (!$info) {
        $info = "Provider=SQLNCLI11;Persist Security Info=False;Data Source=186.64.110.212;Initial Catalog=PbMillenium2;User Id=consultas;Password=consultas*;DataTypeCompatibility=80";
        // ADO connection string
    }
    // Database connecting event
    Database_Connecting($info);
    $conn->raiseErrorFn = $GLOBALS["EW_ERROR_FN"];
    if (EW_CODEPAGE > 0) {
        $conn->charPage = EW_CODEPAGE;
    }
    $conn->Connect($info, FALSE, FALSE);
    // Set date format
    if (EW_DEFAULT_DATE_FORMAT != "") {
        $conn->Execute("SET DATEFORMAT ymd");
    }
    $conn->raiseErrorFn = '';
    // Database connected event
    Database_Connected($conn);
    return $conn;
}