Zaloguj | Zarejestruj | FAQ
Anonymous

миграция баз данных SQL to Mysql

+ Odpowiedz

Posty: 6 Strona 1 z 1


миграция баз данных SQL to Mysql

przez sergey7984 » Śr lip 04, 2012 5:13 am

Добил таки этот скрипт по модной теме миграции баз данных.
Таблица SQL импортируется с помощью ACCESS 2010
и импортируется на WEB-сервер в формате XML c внедрённой XSD.
Это позволяет секционировать вод данных.
Скрипт получился длинноватый , но может кто и покороче управится.
Использованы данные AdventureWorksDB.
Сергей

Kod: Zaznacz cały
<?php header("Content-type: text/html; Charset=UTF-8");

$file= "tab1";

$file_xml = $file.".xml";
$date_xml=date("Y-m-d H:i:s", filectime($file_xml));
echo "$file_xml was last changed: " . $date_xml;
echo "<br>";


$encoding = "UTF-8";
#####################################################################




function startElement($parser, $name, $attrs)
   {
   global $depth;
   global $file;
   global $num;
   global $xsd;
   global $xsd_k;
   global $xsd_t;
   global $xsd_v;
   global $factor;
   global $cont;
   global $conty;
   global $pre;
   global $string;
   global $table_name;
   global $con;
   global $conn;
   global $database;



   $depth++;




   foreach ($attrs as $attr => $value)
      {


      if($attr=='REF')
      if(!strtolower($value)==$file) exit('xsd name is corrupt');


      if($name=='XSD:ELEMENT' & $attr=='NAME')
         {
         $xsd[$num]=$value;
         $xsd_k[$num]=strtoupper($value);
         }





      if($name=='XSD:MAXLENGTH'  & $attr=='VALUE')
         { 
         $xsd_v[$num]=$value;

         }

      if($name=='XSD:ELEMENT' & $attr=='OD:SQLSTYPE')
         {
         $xsd_t[$num]=$value;
         $num++;
         }



      if($name=='DATAROOT'  & $attr=='GENERATED')
         {
         $factor=1;
         $xx=$value;



         $conty=array_flip($xsd_k); 
         foreach ($conty as $con => $value)
            {
            $conty[$con]='';
            }

//create database

         $table_name =$file.'_'.str_replace
         (':','_',str_replace ('-','_',$xx));


         $struct='';

         $n=count($xsd_k);                     
         for($i=0;$i<$n; $i++)
            {
             if($xsd_t[$i]=='int')$x=' int';
             if($xsd_t[$i]=='datetime')$x=' datetime';             
             if($xsd_t[$i]=='uniqueidentifier ')$x=' char(15)';
             if($xsd_t[$i]=='nvarchar')
                {if(isset($xsd_v[$i]))$x=' char('.$xsd_v[$i].')';
                 else $x=' char(255)';

                }


            $struct=$struct.$xsd[$i].$x;
            if($i==0) $struct=$struct.' NOT NULL ';
            if(!$i==0) $struct=$struct.' NULL ';
            if ($i<$n-1)$struct=$struct.',';         //create
            }
//print_r($struct);


         $conn = mysql_connect("localhost",
         "root","")
         or die("myhost". mysql_error());

         $database = "test";
         mysql_select_db($database)
         or die(" myhost".mysql_error());


         mysql_query("DROP TABLE IF EXISTS $table_name")
         Or die(mysql_error());
         mysql_query("CREATE TABLE $table_name(
         $struct)") Or die(mysql_error());

         }
         }

      if($factor==1)
      {
      if(strtolower($name)==$file)
         {
         $pre=1;
         $string='';
         $cont=$conty;
         }
      }
   }
#####################################################################

function endElement($parser, $name)
   {
   global $depth;
   global $pre;
   global $string;
   global $cont;
   global $table_name;

   $depth--;
 
   if($depth==2 & $pre==1)
      {
      $x='select ';
      foreach ($cont as $con => $value)
         {
         $x=$x."'".$cont[$con]."'"." , ";
         }
      $x=substr ($x, 0, strlen($x)-2);

      mysql_query("INSERT INTO $table_name
      $x
      ") Or die(mysql_error());
   }
   if($depth==3 & $pre==1)
      {
   $cont[$name]=$string;
   $string='';
echo($string);
      }
   }
####################################################################
function stringElement($parser, $str)
{
   global $pre;
   global $depth;
   global $factor;
   global $string;
   if (strlen(trim($str)) > 0)
   {
   if($str=="'")$str="\'";
   $string=$string.$str;
//echo($string);
   }
}
####################################################################


$pre=0;
$factor=0;
$depth = 0;
$num=0;

$xml_parser = xml_parser_create($encoding);

xml_set_element_handler($xml_parser, "startElement", "endElement");

xml_set_character_data_handler($xml_parser, "stringElement");

if (!($fp = fopen($file_xml, "r"))) die("could not open XML input");

while ($data = fgets($fp))
   {
   if (!xml_parse($xml_parser, $data, feof($fp)))
      {
      echo "<br>XML Error: ";
      echo xml_error_string(xml_get_error_code($xml_parser));
      echo " at line ".xml_get_current_line_number($xml_parser);
      break;
      }
   }

xml_parser_free($xml_parser);
###################################################################

mysql_select_db($database);
$list_f = mysql_list_fields($database,$table_name);
$n1 = mysql_num_fields($list_f);

for($j=0;$j<$n1; $j++)
   {
   $names[] = mysql_field_name ($list_f,$j);
   }


$sql = "select * FROM $table_name";
$q = mysql_query($sql,$conn) or die(); 
$n = mysql_num_rows($q);
echo "&nbsp;<TABLE BORDER=0 CELLSPACING=0 width=90%
    align=center><tr><TD BGCOLOR='#005533' align=center>
    <font color='#FFFFFF'><b>$table_name</b></font></td>
    </tr></TABLE>";
    echo "<table cellspacing=0 cellpadding=1 border=1
        width=90% align=center>";

    echo "<tr>";
    foreach ($names as $val){
        echo "<th ALIGN=CENTER BGCOLOR='#C2E3B6'>
            <font size=2>$val</font></th>";
    }

    echo "</tr>";
    for($i=0;$i<$n; $i++)
       {
       echo "<tr>";
       foreach  ($names as $val)
          {
          $value = mysql_result($q,$i,$val);
          echo "<td><font size=2>&nbsp;$value</font></td>";
          }
       echo "</tr>";
    }
echo "</table>";
echo '<br>'.'DEFAULT_TABLE by AdventureWorksDB Person_Address';

mysql_close($conn);


?>
Avatar użytkownika

sergey7984

  • Posty: 54
  • Dołączył(a): Wt gru 20, 2011 5:25 pm

Re: миграция баз данных SQL to Mysql

przez sergey7984 » Cz lip 05, 2012 8:28 am

Интересна ситуация при тестировании скрипта с помощью таблицы Producion.ProductModel из базы данных AdwentureWork.
Скрипт пока ещё не доработан , да время для этого не всегда есть.Но пора заканчивать "Ещё одно последние сказание",как писал поэт.
ДА_А !!!
Это уже документация конкурирующей фирмы !!!
Только в строке 104 скрипта нужно
заменить else $x=' char(255)';
на else $x=' TEXT';
а так же в строке 2
заменить $file= "tab1";
на $file= "tab2";
Содержимое tab2 ниже :
Остался один вопрос : поддерживает ли Mysql тип данных XML ?

Ostatnio edytowano Cz lip 05, 2012 6:05 pm przez sergey7984, łącznie edytowano 1 raz

Avatar użytkownika

sergey7984

  • Posty: 54
  • Dołączył(a): Wt gru 20, 2011 5:25 pm

Re: миграция баз данных SQL to Mysql

przez sergey7984 » Cz lip 05, 2012 6:01 pm

Вот этот документ :
Kod: Zaznacz cały
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:od="urn:schemas-microsoft-com:officedata">
<xsd:schema>
<xsd:element name="dataroot">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="tab2" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="generated" type="xsd:dateTime"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="tab2">
<xsd:annotation>
<xsd:appinfo/>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ProductModelID" minOccurs="1" od:jetType="autonumber" od:sqlSType="int" od:autoUnique="yes" od:nonNullable="yes" type="xsd:int"/>
<xsd:element name="Name" minOccurs="0" od:jetType="text" od:sqlSType="nvarchar">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="50"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CatalogDescription" minOccurs="0" od:jetType="memo" od:sqlSType="ntext">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="536870910"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Instructions" minOccurs="0" od:jetType="memo" od:sqlSType="ntext">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="536870910"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="rowguid" minOccurs="0" od:jetType="replicationid" od:sqlSType="uniqueidentifier">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="38"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ModifiedDate" minOccurs="0" od:jetType="datetime" od:sqlSType="datetime" type="xsd:dateTime"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<dataroot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" generated="2012-07-05T10:12:17">
<tab2>
<ProductModelID>1</ProductModelID>
<Name>Classic Vest</Name>
<rowguid>{29321D47-1E4C-4AAC-887C-19634328C25E}</rowguid>
<ModifiedDate>2003-06-01T00:00:00</ModifiedDate>
</tab2>
<tab2>
<ProductModelID>2</ProductModelID>
<Name>Cycling Cap</Name>
<rowguid>{474FB654-3C96-4CB9-82DF-2152EEFFBDB0}</rowguid>
<ModifiedDate>2001-06-01T00:00:00</ModifiedDate>
</tab2>
<tab2>
<ProductModelID>3</ProductModelID>
<Name>Full-Finger Gloves</Name>
<rowguid>{A75483FE-3C47-4AA4-93CF-664B51192987}</rowguid>
<ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
</tab2>
<tab2>
<ProductModelID>4</ProductModelID>
<Name>Half-Finger Gloves</Name>
<rowguid>{14B56F2A-D4AA-40A4-B9A2-984F165ED702}</rowguid>
<ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
</tab2>
<tab2>
<ProductModelID>5</ProductModelID>
<Name>HL Mountain Frame</Name>
<rowguid>{FDD5407B-C2DB-49D1-A86B-C13A2E3582A2}</rowguid>
<ModifiedDate>2001-06-01T00:00:00</ModifiedDate>
</tab2>
<tab2>
<ProductModelID>6</ProductModelID>
<Name>HL Road Frame</Name>
<rowguid>{4D332ECC-48B3-4E04-B7E7-227F3AC2A7EC}</rowguid>
<ModifiedDate>1998-05-02T00:00:00</ModifiedDate>
</tab2>
<tab2>
<ProductModelID>7</ProductModelID>
<Name>HL Touring Frame</Name>
<Instructions>&lt;root xmlns=&quot;http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions&quot;&gt;
                Adventure Works CyclesFR-210B Instructions for Manufacturing HL Touring Frame. Summary: This document contains manufacturing instructions for manufacturing the HL Touring Frame, Product Model 7. Instructions are work center specific and are identified by Work Center ID. These instructions must be followed in the order presented. Deviation from the instructions is not permitted unless an authorized Change Order detailing the deviation is provided by the Engineering Manager.&lt;Location LaborHours=&quot;2.5&quot; LotSize=&quot;100&quot; MachineHours=&quot;3&quot; SetupHours=&quot;0.5&quot; LocationID=&quot;10&quot;&gt;
                    Work Center 10 - Frame Forming. The following instructions pertain to Work Center 10. (Setup hours = .5, Labor Hours = 2.5, Machine Hours = 3, Lot Sizing = 100)&lt;step&gt;
                        Insert &lt;material&gt;aluminum sheet MS-2341&lt;/material&gt; into the &lt;tool&gt;T-85A framing tool&lt;/tool&gt;.
                    &lt;/step&gt;&lt;step&gt;
                        Attach &lt;tool&gt;Trim Jig TJ-26&lt;/tool&gt; to the upper and lower right corners of the aluminum sheet.
                    &lt;/step&gt;&lt;step&gt;
                        Using a &lt;tool&gt;router with a carbide tip 15&lt;/tool&gt;, route the aluminum sheet following the jig carefully.
                    &lt;/step&gt;&lt;step&gt;
                        Insert the frame into &lt;tool&gt;Forming Tool FT-15&lt;/tool&gt; and press Start.
                    &lt;/step&gt;&lt;step&gt;
                        When finished, inspect the forms for defects per Inspection Specification &lt;specs&gt;INFS-111&lt;/specs&gt;.
                    &lt;/step&gt;&lt;step&gt;Remove the frames from the tool and place them in the Completed or Rejected bin as appropriate.&lt;/step&gt;&lt;/Location&gt;&lt;Location LaborHours=&quot;1.75&quot; LotSize=&quot;1&quot; MachineHours=&quot;2&quot; SetupHours=&quot;0.15&quot; LocationID=&quot;20&quot;&gt;
                    Work Center 20 - Frame Welding. The following instructions pertain to Work Center 20. (Setup hours = .15, Labor Hours = 1.75, Machine Hours = 2, Lot Sizing = 1)&lt;step&gt;
                        Assemble all frame components following blueprint &lt;blueprint&gt;1299&lt;/blueprint&gt;.
                    &lt;/step&gt;&lt;step&gt;
                        Weld all frame components together as shown in illustration &lt;diag&gt;3&lt;/diag&gt;&lt;/step&gt;&lt;step&gt;
                        Inspect all weld joints per Adventure Works Cycles Inspection Specification &lt;specs&gt;INFS-208&lt;/specs&gt;.
                    &lt;/step&gt;&lt;/Location&gt;&lt;Location LaborHours=&quot;1&quot; LotSize=&quot;1&quot; LocationID=&quot;30&quot;&gt;
                    Work Center 30 - Debur and Polish. The following instructions pertain to Work Center 30. (Setup hours = 0, Labor Hours = 1, Machine Hours = 0, Lot Sizing = 1)&lt;step&gt;
                        Using the &lt;tool&gt;standard debur tool&lt;/tool&gt;, remove all excess material from weld areas.
                    &lt;/step&gt;&lt;step&gt;
                        Using &lt;material&gt;Acme Polish Cream&lt;/material&gt;, polish all weld areas.
                    &lt;/step&gt;&lt;/Location&gt;&lt;Location LaborHours=&quot;0.5&quot; LotSize=&quot;20&quot; MachineHours=&quot;0.65&quot; LocationID=&quot;45&quot;&gt;
                    Work Center 45 - Specialized Paint. The following instructions pertain to Work Center 45. (Setup hours = 0, Labor Hours = .5, Machine Hours = .65, Lot Sizing = 20)&lt;step&gt;
                        Attach &lt;material&gt;a maximum of 20 frames&lt;/material&gt; to &lt;tool&gt;paint harness&lt;/tool&gt; ensuring frames are not touching.
                    &lt;/step&gt;&lt;step&gt;
                        Mix &lt;material&gt;primer PA-529S&lt;/material&gt;. Test spray pattern on sample area and correct flow and pattern as required per engineering spec &lt;specs&gt;AWC-501&lt;/specs&gt;.
                    &lt;/step&gt;&lt;step&gt;Apply thin coat of primer to all surfaces.  &lt;/step&gt;&lt;step&gt;After 30 minutes, touch test for dryness. If dry to touch, lightly sand all surfaces. Remove all surface debris with compressed air. &lt;/step&gt;&lt;step&gt;
                        Mix &lt;material&gt;paint&lt;/material&gt; per manufacturer instructions.
                    &lt;/step&gt;&lt;step&gt;
                        Test spray pattern on sample area and correct flow and pattern as required per engineering spec &lt;specs&gt;AWC-509&lt;/specs&gt;.
                    &lt;/step&gt;&lt;step&gt;Apply thin coat of paint to all surfaces. &lt;/step&gt;&lt;step&gt;After 60 minutes, touch test for dryness. If dry to touch, reapply second coat. &lt;/step&gt;&lt;step&gt;
                        Allow paint to cure for 24 hours and inspect per &lt;specs&gt;AWC-5015&lt;/specs&gt;.
                    &lt;/step&gt;&lt;/Location&gt;&lt;Location LaborHours=&quot;3&quot; LotSize=&quot;1&quot; SetupHours=&quot;0.25&quot; LocationID=&quot;50&quot;&gt;
                    Work Center 50 - SubAssembly. The following instructions pertain to Work Center 50. (Setup hours = .25, Labor Hours = 3, Machine Hours = 0, Lot Sizing = 1)&lt;step&gt;Add Seat Assembly. &lt;/step&gt;&lt;step&gt;Add Brake assembly.   &lt;/step&gt;&lt;step&gt;Add Wheel Assembly. &lt;/step&gt;&lt;step&gt;Inspect Front Derailleur. &lt;/step&gt;&lt;step&gt;Inspect Rear Derailleur. &lt;/step&gt;&lt;/Location&gt;&lt;Location LaborHours=&quot;4&quot; LotSize=&quot;1&quot; LocationID=&quot;60&quot;&gt;
                    Work Center 60 - Final Assembly. The following instructions pertain to Work Center 60. (Setup hours = 0, Labor Hours = 4, Machine Hours = 0, Lot Sizing = 1)&lt;step&gt;
                        Perform final inspection per engineering specification &lt;specs&gt;AWC-915&lt;/specs&gt;.
                    &lt;/step&gt;&lt;step&gt;Complete all required certification forms.&lt;/step&gt;&lt;step&gt;Move to shipping.&lt;/step&gt;&lt;/Location&gt;&lt;/root&gt;</Instructions>
<rowguid>{D60ED2A5-C100-4C54-89A1-531404C4A20F}</rowguid>
<ModifiedDate>2005-05-16T16:34:29</ModifiedDate>
</tab2>
<tab2>
<ProductModelID>8</ProductModelID>
<Name>LL Mountain Frame</Name>
<rowguid>{65BF3F6D-BCF2-4DB6-8515-FC5C57423037}</rowguid>
<ModifiedDate>2002-11-20T09:56:38</ModifiedDate>
</tab2>
<tab2>
<ProductModelID>9</ProductModelID>
<Name>LL Road Frame</Name>
<rowguid>{DDC67A2F-024A-4446-9B54-3C679BABA708}</rowguid>
<ModifiedDate>2001-06-01T00:00:00</ModifiedDate>
</tab2>
<tab2>
<ProductModelID>10</ProductModelID>
<Name>LL Touring Frame</Name>
<Instructions>&lt;root xmlns=&quot;http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions&quot;&gt;
                Adventure Works CyclesFR-200A Instructions for Manufacturing LL Touring Frame Summary: This document contains manufacturing instructions for manufacturing the LL Touring Frame, Product Model 10. Instructions are work center specific and are identified by work center ID. These instructions must be followed in the order presented. Deviation from the instructions is not permitted unless an authorized Change Order detailing the deviation is provided by the Engineering Manager.&lt;Location LaborHours=&quot;2&quot; LotSize=&quot;100&quot; MachineHours=&quot;2&quot; SetupHours=&quot;0.1&quot; LocationID=&quot;10&quot;&gt;
                    Work Center 10 - Frame Forming. The following instructions pertain to Work Center 10. (Setup hours = .10, Labor Hours = 2, Machine Hours = 2, Lot Sizing = 100)&lt;step&gt;
                        Insert &lt;material&gt;aluminum sheet MS-6061&lt;/material&gt; into tool &lt;tool&gt;T-99 framing tool&lt;/tool&gt;.
                    &lt;/step&gt;&lt;step&gt;
                        Attach &lt;tool&gt;Trim Jig TJ-25&lt;/tool&gt; to the upper and lower right corners of the aluminum sheet.
                    &lt;/step&gt;&lt;step&gt;
                        Using a &lt;tool&gt;router with a carbide tip 26&lt;/tool&gt;, route the aluminum sheet following the jig carefully.
                    &lt;/step&gt;&lt;step&gt;
                        Insert the frame into &lt;tool&gt;Forming Tool FT-25&lt;/tool&gt; and press Start.
                    &lt;/step&gt;&lt;step&gt;
                        When finished, inspect the form for defects per &lt;specs&gt;Inspection Specification INFS-110&lt;/specs&gt;.
                    &lt;/step&gt;&lt;step&gt;Remove the frame from the tool and place it in the Completed or Rejected bin as appropriate.&lt;/step&gt;&lt;/Location&gt;&lt;Location LaborHours=&quot;1.5&quot; LotSize=&quot;1&quot; MachineHours=&quot;1.75&quot; SetupHours=&quot;0.25&quot; LocationID=&quot;20&quot;&gt;
                    Work Center 20 - Frame Welding. The following instructions pertain to Work Center 20. (Setup hours = .25, Labor Hours = 1.5, Machine Hours = 1.75, Lot Sizing = 1)&lt;step&gt;
                        Assemble all frame components following blueprint &lt;blueprint&gt;12345&lt;/blueprint&gt;.
                    &lt;/step&gt;&lt;step&gt;
                        Weld all frame components together as shown in illustration &lt;diag&gt;3&lt;/diag&gt;&lt;/step&gt;&lt;step&gt;
                        Inspect all weld joints per Adventure Works Cycles Inspection Specification &lt;specs&gt;INFS-206&lt;/specs&gt;.
                    &lt;/step&gt;&lt;/Location&gt;&lt;Location LaborHours=&quot;1&quot; LotSize=&quot;1&quot; LocationID=&quot;30&quot;&gt;
                    Work Center 30 - Debur and Polish. The following instructions pertain to Work Center 30. (Setup hours = 0, Labor Hours = 1, Machine Hours = 0, Lot Sizing = 1)&lt;step&gt;
                        Using the &lt;tool&gt;standard debur tool&lt;/tool&gt;, remove all excess material from weld areas.
                    &lt;/step&gt;&lt;step&gt;
                        Using &lt;material&gt;Acme Polish Cream&lt;/material&gt;, polish all weld areas.
                    &lt;/step&gt;&lt;/Location&gt;&lt;Location LaborHours=&quot;1.5&quot; LotSize=&quot;20&quot; LocationID=&quot;4&quot;&gt;
                    Work Center 40 - Paint. The following instructions pertain to Work Center 40. (Setup hours = 0, Labor Hours = 1.5, Machine Hours = 0, Lot Sizing = 20)&lt;step&gt;
                        Attach a &lt;material&gt;maximum of 20 frames&lt;/material&gt; to paint harness ensuring frames are not touching.
                    &lt;/step&gt;&lt;step&gt;
                        Mix &lt;material&gt;primer PA-345&lt;/material&gt;. Test spray pattern on sample area and correct flow and pattern as required per engineering spec &lt;specs&gt;AWC-502&lt;/specs&gt;.
                    &lt;/step&gt;&lt;step&gt;Apply thin coat of primer to all surfaces.  &lt;/step&gt;&lt;step&gt;
                        After 30 minutes, touch test for dryness. If dry to touch, lightly sand all surfaces. Remove all surface debris with &lt;material&gt;compressed air&lt;/material&gt;.
                    &lt;/step&gt;&lt;step&gt;
                        Mix &lt;material&gt;paint&lt;/material&gt; per manufacturer instructions.
                    &lt;/step&gt;&lt;step&gt;
                        Test spray pattern on sample area and correct flow and pattern as required per engineering specification&lt;specs&gt;AWC-503&lt;/specs&gt;.
                    &lt;/step&gt;&lt;step&gt;Apply thin coat of paint to all surfaces. &lt;/step&gt;&lt;step&gt;After 60 minutes, touch test for dryness. If dry to touch, reapply second coat. &lt;/step&gt;&lt;step&gt;
                        Allow paint to cure for 24 hours and inspect per &lt;specs&gt;AWC-5010&lt;/specs&gt;.
                    &lt;/step&gt;&lt;/Location&gt;&lt;Location LaborHours=&quot;3&quot; LotSize=&quot;1&quot; SetupHours=&quot;0.25&quot; LocationID=&quot;50&quot;&gt;
                    Work Center 50 - SubAssembly. The following instructions pertain to Work Center 50. (Setup hours = .25, Labor Hours = 3, Machine Hours = 0, Lot Sizing = 1)&lt;step&gt;
                        Add &lt;material&gt;Seat Assembly&lt;/material&gt;.
                    &lt;/step&gt;&lt;step&gt;
                        Add &lt;material&gt;Brake assembly&lt;/material&gt;.
                    &lt;/step&gt;&lt;step&gt;
                        Add &lt;material&gt;Wheel Assembly&lt;/material&gt;.
                    &lt;/step&gt;&lt;step&gt;Inspect Front Derailleur. &lt;/step&gt;&lt;step&gt;Inspect Rear Derailleur.&lt;/step&gt;&lt;/Location&gt;&lt;Location LaborHours=&quot;4&quot; LotSize=&quot;1&quot; LocationID=&quot;60&quot;&gt;
                    Work Center 60 - Final Assembly. The following instructions pertain to Work Center 60. (Setup hours = 0, Labor Hours = 4, Machine Hours = 0, Lot Sizing = 1)&lt;step&gt;
                        Perform final inspection per engineering specification &lt;specs&gt;AWC-910&lt;/specs&gt;.
                    &lt;/step&gt;&lt;step&gt;Complete all required certification forms.&lt;/step&gt;&lt;step&gt;Move to shipping.&lt;/step&gt;&lt;/Location&gt;&lt;/root&gt;</Instructions>
<rowguid>{66C63844-2A24-473C-96D5-D3B3FD57D834}</rowguid>
<ModifiedDate>2005-05-16T16:34:29</ModifiedDate>
</tab2>
</dataroot>
</root>

Avatar użytkownika

sergey7984

  • Posty: 54
  • Dołączył(a): Wt gru 20, 2011 5:25 pm

Re: миграция баз данных SQL to Mysql

przez sergey7984 » So lip 07, 2012 9:20 pm

Да что такое .
Сам себе вопросы задаёш , сам и отвечаеш .
Что же делать ,сейчас не знаю , а через день - два вдруг осознаю , что не понимал вчера .
Вдруг понял , что Mysql принимает данные XML , если они поступают в формате XML .
Что это даёт ?
Смотрите на моей странице http://span.net84.net/data/
Во всяком случае "буквовки и циферки не прыгают" со строки на строку.
Сравните столбец CatalogDescription и солбец Instructions .
Первый загружен в формате TEXT , а второй в формате XML .
Avatar użytkownika

sergey7984

  • Posty: 54
  • Dołączył(a): Wt gru 20, 2011 5:25 pm

Re: миграция баз данных SQL to Mysql

przez Muxa » N lip 08, 2012 2:06 pm

просто, имхо, в такой портянке кода ковыряться не охота никому :)
Avatar użytkownika

Muxa

  • Posty: 181
  • Dołączył(a): Wt maja 15, 2012 7:14 pm

Re: миграция баз данных SQL to Mysql

przez sergey7984 » Wt lip 10, 2012 7:36 am

Muxa napisał(a):... не охота никому :)

Остаётся подождать грома и молний.
Особенно в ситуация:"когда надо , то ... нет".
Avatar użytkownika

sergey7984

  • Posty: 54
  • Dołączył(a): Wt gru 20, 2011 5:25 pm


+ Odpowiedz

Strona 1 z 1