Ho un server Linux Debian 6, con installato Apache 2.2 e PHP 5.4. Ho bisogno di collegare la mia domanda con un MS SQL Server 2008.PHP 5.4 su Linux: come connettersi con MS SQL Server 2008?
La mia applicazione sta utilizzando Zend Framework 1.11 e charset UTF-8 (avrò gli utenti da tutti i luoghi del mondo e metteranno i dati nel proprio linguaggio).
FRIST, ho provato a utilizzare il driver ODBC di Microsoft SQL Server per Linux. che dice è solo per Red Hat, ma seguire le seguenti istruzioni per l'installazione:
http://www.codesynthesis.com/~boris/blog/2011/12/02/microsoft-sql-server-odbc-driver-linux/
ho potuto collegare e fare alcune seleziona su di esso, ma non ho potuto inserire i dati su di esso. Ho un problema con i parametri di binding sulle istruzioni pdo.
Inserire i dati come il seguente non ha funzionato:
$stmt = $conn->prepare("insert into mar_regions (name) values (:name)");
$resp = $stmt->execute(array(':name' => $param));
Ma se ho usato come il presente, funziona:
$stmt = $conn->prepare("insert into mar_regions (name) values ('".$param."')");
$resp = $stmt->execute();
così ho rinunciato da questo driver, perché la mia domanda no ZF 1.11 non funzionerà se questo.
SECONDO, provo a utilizzare il driver PDO per FreeTDS. Questo funziona bene e potrei usare sulla mia applicazione ZF 1.11.
Ma poi, ho ancora un problema: i set di caratteri. Ho configurare il mio freetds.conf per usare UTF-8, cambiare le mie tabelle di usare NVARCHAR posto della VARCHAR e potrebbe inserire dati UTF-8 come questo:
$stmt = $dbh->prepare("insert into mar_teste (name) values (N'ンから初・配信 € зеленый банан ÀÀÀÀáááááá')");
$resp = $stmt->execute();
Ma, sul mio ZF 1.11, non posso passare questo attributo 'N' su querys! Quindi la mia applicazione non funzionava ancora.
Come potete vedere ho provato tutto.
Quindi la mia domanda è: Come connettersi da Linux, utilizzando ZF 1.11 set di caratteri UTF-8, su MS SQL Server 2008?