--TEST--
ODBC
--SKIPIF--
<?php # vim:ft=php
if (!extension_loaded('pdo_odbc')) print 'skip';
if (substr(PHP_OS, 0, 3) == 'WIN' &&
false === getenv('PDOTEST_DSN') &&
false === getenv('PDO_ODBC_TEST_DSN') &&
!extension_loaded('com_dotnet')) {
die('skip - either PDOTEST_DSN or com_dotnet extension is needed to setup the connection');
}
--REDIRECTTEST--
# magic auto-configuration
$config = array(
'TESTS' => 'ext/pdo/tests',
'ENV' => array()
);
if (false !== getenv('PDOTEST_DSN')) {
$config['ENV']['PDOTEST_DSN'] = getenv('PDOTEST_DSN');
$config['ENV']['PDOTEST_USER'] = getenv('PDOTEST_USER');
$config['ENV']['PDOTEST_PASS'] = getenv('PDOTEST_PASS');
if (false !== getenv('PDOTEST_ATTR')) {
$config['ENV']['PDOTEST_ATTR'] = getenv('PDOTEST_ATTR');
}
} else if (false !== getenv('PDO_ODBC_TEST_DSN')) {
$config['ENV']['PDOTEST_DSN'] = getenv('PDO_ODBC_TEST_DSN');
$config['ENV']['PDOTEST_USER'] = getenv('PDO_ODBC_TEST_USER');
$config['ENV']['PDOTEST_PASS'] = getenv('PDO_ODBC_TEST_PASS');
if (false !== getenv('PDO_ODBC_TEST_ATTR')) {
$config['ENV']['PDOTEST_ATTR'] = getenv('PDO_ODBC_TEST_ATTR');
}
} elseif (preg_match('/^WIN/i', PHP_OS)) {
$path = realpath(dirname(__FILE__)) . '\pdo_odbc.mdb';
if (!file_exists($path)) {
try {
$adox = new COM('ADOX.Catalog');
$adox->Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' . $path);
$adox = null;
} catch (Exception $e) {
}
}
if (file_exists($path)) {
$config['ENV']['PDOTEST_DSN'] = "odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=$path;Uid=Admin";
} }
# other magic autodetection here, eg: for DB2 by inspecting env
return $config;