diff --git a/library/think/db/driver/Oracle.php b/library/think/db/driver/Oracle.php index 13a5cad6..015f23f2 100644 --- a/library/think/db/driver/Oracle.php +++ b/library/think/db/driver/Oracle.php @@ -32,7 +32,12 @@ class Oracle extends Driver */ protected function parseDsn($config) { - $dsn = 'oci:dbname=' . $config['database']; + $dsn = 'oci:dbname='; + if (!empty($config['hostname'])) { + // Oracle Instant Client + $dsn .= '//' . $config['hostname'] . ($config['hostport'] ? ':' . $config['hostport'] : '') . '/'; + } + $dsn .= $config['database']; if (!empty($config['charset'])) { $dsn .= ';charset=' . $config['charset']; }