2011-10-15 8 views
0

저희 회사에서 mySQL 웹 사이트와 MS-SQL 회계/ERP 시스템을 사용하기 때문에 mySQL 데이터베이스에서 Microsoft SQL로 데이터를 가져 오려고합니다.Microsoft SQL 쿼리를 사용하여 PHP 병합 취소

어쨌든 ... mySQL의 일부 필드는 "serialize"됩니다. 나는 어떻게 SQL 코드를 사용하여 unserialize하고 MS SQL로 데이터를 읽을 수 있는지 결정하려고합니다. 어떻게 가능합니까? 필드의

하나는 다음과 같다 : 어떤 지원 사람이에 제공 할 수 있습니다에 대한

a: 9: { 
    s: 15: "product_options"; 
    a: 2: { 
     i: 719; 
     s: 4: "2979"; 
     i: 718; 
     s: 4: "2975"; 
    } 
    s: 18: "unlimited_download"; 
    s: 1: "N"; 
    s: 7: "product"; 
    s: 37: "Champion Tagless Ringer Tee - T-Shirt"; 
    s: 10: "company_id"; 
    i: 0; 
    s: 6: "is_edp"; 
    s: 1: "N"; 
    s: 12: "edp_shipping"; 
    s: 1: "N"; 
    s: 10: "base_price"; 
    d: 9.9900000000000002131628207280300557613372802734375; 
    s: 12: "stored_price"; 
    s: 1: "N"; 
    s: 21: "product_options_value"; 
    a: 2: { 
     i: 0; 
     a: 13: { 
      s: 9: "option_id"; 
      s: 3: "719"; 
      s: 11: "option_type"; 
      s: 1: "S"; 
      s: 9: "inventory"; 
      s: 1: "Y"; 
      s: 11: "option_name"; 
      s: 5: "Color"; 
      s: 11: "option_text"; 
      s: 0: ""; 
      s: 11: "description"; 
      s: 0: ""; 
      s: 10: "inner_hint"; 
      s: 0: ""; 
      s: 17: "incorrect_message"; 
      s: 0: ""; 
      s: 8: "modifier"; 
      s: 5: "0.000"; 
      s: 13: "modifier_type"; 
      s: 1: "A"; 
      s: 8: "position"; 
      s: 2: "30"; 
      s: 12: "variant_name"; 
      s: 13: "White/Scarlet"; 
      s: 5: "value"; 
      s: 4: "2979"; 
     } 
     i: 1; 
     a: 13: { 
      s: 9: "option_id"; 
      s: 3: "718"; 
      s: 11: "option_type"; 
      s: 1: "S"; 
      s: 9: "inventory"; 
      s: 1: "Y"; 
      s: 11: "option_name"; 
      s: 13: "Clothing Size"; 
      s: 11: "option_text"; 
      s: 0: ""; 
      s: 11: "description"; 
      s: 0: ""; 
      s: 10: "inner_hint"; 
      s: 0: ""; 
      s: 17: "incorrect_message"; 
      s: 0: ""; 
      s: 8: "modifier"; 
      s: 5: "0.000"; 
      s: 13: "modifier_type"; 
      s: 1: "A"; 
      s: 8: "position"; 
      s: 2: "20"; 
      s: 12: "variant_name"; 
      s: 6: "Medium"; 
      s: 5: "value"; 
      s: 4: "2975"; 
     } 
    } 
} 

미리 감사드립니다.

+4

이것은 PHP의'직렬화() '방법을 사용하여 이루어졌다 - 나는 때 unserialize()가'나는 이것을 알고 있지만 단지 마이크로 소프트 SQL 코드를 어떻게에서 사용하려면이 –

+0

에 대한 일련가 그것의 대조를,'사용합니다 그리고 비 직렬화? – Jesse

답변

2

나는 이것을 알고 있지만 Microsoft SQL 코드에는 직렬 및 직렬화가 무엇이 있는지 알고 있습니까?

MS SQL에는 PHP의 unserialize()과 직접적으로 동일한 기능이 없습니다.

직접 작성해야합니다. PHP가 처리하도록 시도하는 것이 훨씬 낫습니다.

0

필자는 유사한 상황에 직면했으며, 필자 만의 T-SQL 파서 기능을 만들기로 결정했다. 드라이버로 보드에 못을 박는 것처럼 생각한다. 나는 다른 접근법을 찾는 것을 권합니다. 그러나 누군가가 빠르고 더러운 것을 위해 시간을 절약하는 데 도움이된다면, 나는 유용 할 수 있다고 생각합니다.

Unserialize PHP serialized data in T-SQL

관련 문제