Co prawda to nie ja wymyśliłem, ale sam z tego połączenia korzystam i działa idealnie...
<?php
require_once(\"class.php\");
$db = new DB2();
print \"connecting to DB2...\"; if (!$db->connect(\"konie\", \"Administrator\", \"2906mar\"))
{
}
print \"Connected!<br>n\";
print \"Creating Database...\"; $sql = \"\";
$sql .= \"CREATE TABLE testtbl (id INTEGER NOT NULL GENERATED\";
$sql .= \" ALWAYS AS IDENTITY (START WITH 0, INCREMENT BY 1, NO\";
$sql .= \" CACHE), name VARCHAR (64) NOT NULL , created DATE NOT NULL)\";
$db->query($sql);
print \"Created Table!<br>n\";
print \"Disconnecting...\"; $db->disconnect();
print \"Disconnected!<br>n\";
?>
to umieść w jakimś pliku np.: index.php
a to klasa;)
<?php
class DB2
{
var $handle;
// bool connect(string $dsn, string $user, stirng $pass)
function connect($dsn, $user, $pass)
{
$this->handle = odbc_connect($dsn, $user, $pass);
if (!$this->handle)
return false;
return true;
}
// resourceid query(string $sql)
function query($sql)
{
$rs = @odbc_exec($this->handle, $sql);
if ($rs)
{
return $rs;
}
else
{
$sErr = \"<b>Error:</b> \" . $this->getErrorMsgs() . \"<br>n\";
$sErr .= \"<b>SQL:</b> \" . $sql;
}
}
// string getErrorMsgs()
function getErrorMsgs()
{
return odbc_errormsg($this->handle);
}
// void disconnect()
function disconnect()
{
if ($this->handle)
odbc_close($this->handle);
}
}
?>
A teraz najważniejsza sprawa... jeśli masz Windowsa (na Linuksie jeszcze nie testowałem...) to trzeba w Narzędziach Administracyjnych -> Zródła Danych (ODBC) sprawdzić czy w zakładce Systemowe DNS mamy dodany wpis naszej bazy, jeśli nie to koniecznie należy go tam recznie dodać...
A przy okazji sam mam pytanie... czy z MaxDB można tak samo się połączyć?? czy jest jakaś prostsza i szybsza metoda