MySQL importation de fichier de vidage dans MSSQL
Browsermob /Neustar produit un MySQLdump fichier que vous pouvez utiliser à la charge des requêtes de données de test sans encourir de nuage heures (qui sont naturellement facturables). Le fichier de vidage est un standard de fichier de vidage, et même si je comprends que mysqldump a un compatible=mssql option, je suis évidemment pas en mesure d'exécuter moi-même. En regardant le contenu du fichier (qui est très gros) à l'aide d'un éditeur de texte semble montrer une série d'instructions SQL se terminant dans un massif d'insertion en bloc. J'ai essayé d'ouvrir le fichier dans Microsoft SQL Management Studio, mais il s'est écrasé (bug connu), car le fichier est trop volumineux.
Donc, personne ne sait d'un outil qui va importer le dump MySQL fichier dans MsSQL. Les seules options que je peux penser sont pour installer MySQL et importer le fichier de vidage dans la place, et puis transférer les données via ODBC, mais je ne veux vraiment pas à installer MySQL à moins que j'ai.
IMPORTANT: Donc, juste pour être clair, j'ai un fichier de vidage, rien d'autre et je ne peux pas accéder à la base de données, ni de re-exécuter le dump avec toutes les options. Je dois travailler avec le fichier que j'ai reçu.
Des idées?
Premières lignes du fichier ressemble à ceci:
-- MySQL dump 10.13 Distrib 5.1.58, for debian-linux-gnu (i686)
--
-- Host: localhost Database: collector
-- ------------------------------------------------------
-- Server version 5.1.58-1ubuntu1
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `name_value_pairs`
--
DROP TABLE IF EXISTS `name_value_pairs`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `name_value_pairs` (
`id` int(8) unsigned DEFAULT NULL,
`tx_id` char(24) NOT NULL,
`step_id` int(8) unsigned DEFAULT NULL,
`name` varchar(100) NOT NULL,
`value` varchar(100) DEFAULT NULL,
KEY `name_value_pairs_id` (`id`),
KEY `name_value_pairs_tx_id` (`tx_id`),
KEY `name_value_pairs_step_id` (`step_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `name_value_pairs`
--
LOCK TABLES `name_value_pairs` WRITE;
/*!40000 ALTER TABLE `name_value_pairs` DISABLE KEYS */;
/*!40000 ALTER TABLE `name_value_pairs` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `object`
--
DROP TABLE IF EXISTS `object`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `object` (
`bytes` int(10) unsigned NOT NULL,
`domain` varchar(255) NOT NULL,
`end_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`err_msg` varchar(255) DEFAULT NULL,
`host` varchar(255) NOT NULL,
`method` varchar(16) DEFAULT NULL,
`obj_id` int(8) unsigned NOT NULL,
`obj_num` mediumint(4) unsigned NOT NULL,
`path` varchar(4096) NOT NULL,
`partial_url_md5` varchar(32) NOT NULL,
`protocol` varchar(16) NOT NULL,
`resolved_ip_addr` varchar(255) DEFAULT NULL,
`start_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`status_code` smallint(4) NOT NULL,
`step_id` int(8) unsigned NOT NULL,
`time_active` mediumint(6) unsigned DEFAULT NULL,
`blocked_time` mediumint(6) unsigned DEFAULT NULL,
`dns_lookup_time` mediumint(6) unsigned DEFAULT NULL,
`connect_time` mediumint(6) unsigned DEFAULT NULL,
`ssl_handshake_time` mediumint(6) unsigned DEFAULT NULL,
`send_time` mediumint(6) unsigned DEFAULT NULL,
`time_to_first_byte` mediumint(6) unsigned DEFAULT NULL,
`receive_time` mediumint(6) unsigned DEFAULT NULL,
`tx_id` char(24) NOT NULL,
`url` varchar(4096) NOT NULL,
KEY `object_partial_url_md5` (`partial_url_md5`),
KEY `object_obj_id` (`obj_id`),
KEY `object_obj_num` (`obj_num`),
KEY `object_step_id` (`step_id`),
KEY `object_tx_id` (`tx_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `object`
--
LOCK TABLES `object` WRITE;
/*!40000 ALTER TABLE `object` DISABLE KEYS */;
Puis vient le bulk insert.
Je n'ai pas de MySQL installé, et j'essaie de ne pas l'installer.
OriginalL'auteur Rebecca | 2012-02-10
Vous devez vous connecter pour publier un commentaire.
Cette information dans le fichier est seulement à supprimer et recréer le schéma de la base de données (que je suppose que vous avez déjà), de sorte que vous n'avez probablement pas besoin de ça.
L'insertion en bloc est la partie intéressante, probablement, vous pouvez isoler la partie pour chaque table à différents fichiers et de les télécharger sur MsSQL avec INSERTION en bloc à partir de T-SQL, vous êtes en mesure de définir le séparateur et les autres paramètres de cette insertion en bloc vous, il devrait convenir à n'importe quel format que vous avez..
Oui, en supposant que vous avez déjà le schéma créé, supprimer tous les create/alter table à partir du fichier. Ensuite il suffit de vérifier si les plaquettes ne sont pas compatibles avec MsSQL et essayer de les régler (il ne devrait pas subir de nombreux changements) pour le format MsSQL. Et de l'exécuter.
Aussi loin que je peux voir, en modifiant manuellement le fichier est ma seule option pour le moment. Je vais laisser cette question ouverte pour un peu pour voir si quelqu'un d'autre arrive avec une plus grande automatisation du moyen de transformer ces fichiers, mais si ce n'est la réponse ira à vous.
OriginalL'auteur pedromarce
C'est officiel docs MS docs.
De la migration de MySQL vers Microsoft SQL Server 2000
http://technet.microsoft.com/en-us/library/cc966396.aspx
OriginalL'auteur twooface