Ten błąd z uzupełnieniem np “Operand type clash: text is incompatible with int” podczas wykonania procedury zapamiętanej oznacza z dużym prawdopodobieństwem, że używany jest sterownik (native client) z bugiem. Więcej szczegółów w oficjalnym zgłoszeniu i stanowisku firmy Małomiękki.
Mały hint, dla mniej zorientowanych
Jeżeli zainstalowany zostanie Native client na maszynie, gdzie wcześniej istniał wyłącznie sterownik np dla SQL 200 lub 2005 trzeba pamiętać o zmianie nazwy sterownika:
$pdo = new PDO(‘odbc:DRIVER={SQL Server};SERVER=SERVER2008\SERVER2008′, ‘sql_login’, ‘sql_pass’, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$pdo = new PDO(‘odbc:DRIVER={SQL Server Native Client 10.0};SERVER=SERVER2008\SERVER2008′, ‘sql_login’, ‘sql_pass’, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
Bez buga Native Client znajduje się w paczce fjuczerów do sql 2008 R2 (kluczowe jest R2)
Linki do “Microsoft® SQL Server® 2008 R2 Native Client” na dzień 2011-03-30:
- wersja 64 bit http://go.microsoft.com/fwlink/?LinkID=188401&clcid=0×409
- wersja 32 bit: http://go.microsoft.com/fwlink/?LinkID=188400&clcid=0×409