public function getTables($dbName = '')
{
//if(C('DB_FETCH_TABLES_SQL')) {
// 定义特殊的表查询SQL
// $sql = str_replace('%db%',$dbName,C('DB_FETCH_TABLES_SQL'));
//}else{
switch ($this->dbType) {
case 'ORACLE':
case 'OCI':
$sql = 'SELECT table_name FROM user_tables';
break;
case 'MSSQL':
case 'SQLSRV':
$sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'";
break;
case 'PGSQL':
$sql = "select tablename as Tables_in_test from pg_tables where schemaname ='public'";
break;
case 'IBASE':
// 暂时不支持
E(L('_NOT_SUPPORT_DB_') . ':IBASE');
break;
case 'SQLITE':
$sql = "SELECT name FROM sqlite_master WHERE type='table' " . "UNION ALL SELECT name FROM sqlite_temp_master " . "WHERE type='table' ORDER BY name";
break;
case 'MYSQL':
default:
if (!empty($dbName)) {
$sql = 'SHOW TABLES FROM ' . $dbName;
} else {
$sql = 'SHOW TABLES ';
}
}
//}
$result = $this->query($sql);
$info = array();
foreach ($result as $key => $val) {
$info[$key] = current($val);
}
return $info;
}