PHP / ODBC üzerinden MS SQL GUID güncelleştirmek nasıl?

1 Cevap php

Ben iki MS SQL tabanlı ürünler senkronize alma ile görevli oldum. Benim selefi adı ve adresi kombinasyonuna göre kayıtları maç için memnundu, ama her iki sistem bir GUID var ve sadece biri aslında bunu kullanıyor. Yani benim aklıma varolan kayıtları maç ve diğer bir veritabanından GUID kopyalamak oldu. Ama PHP ve ODBC kullanan MS SQL bir GUID güncelleştirmek için görünmüyor olabilir. Sorgu sessizce başarısız olur. Ben sorgu yankı ve kopyalama / SQL Management Studio veya Oracle SQL Developer yapıştırın eğer, iyi çalışıyor. Benim sorgu basitleştirilmiş versiyonu gibi görünüyor:

$SQL = "UPDATE Contact SET SifGuid = CONVERT(VARCHAR(36), '" . $this->GUID . "') ";
$SQL .= "WHERE contactID = " . $this->POSID . ";

Odbc_exec yoluyla bu sorguyu gönderme başarısız olur. Bahsettiğim gibi ama, aynı kesin sorgu SQL Management Studio veya Oracle SQL Developer çalışıyor.

Herhangi bir fikir?

Şimdiden teşekkürler!

1 Cevap

Eğer ilk sunucudan dışarı verileri sorgulamak zaman, VARCHAR veri dönüştürme emin olun ()

SELECT CONVERT(VARCHAR(36),guidCol) AS guid FROM table 

Taktığınızda Sonra, zaten PHP bir dize olduğundan bir GUID değerine geri döküm gerekir.

UPDATE table SET guidCol = CAST(UNIQUEIDENTIFIER, '" . $this->GUID . "')