PHP et MS SQL 2012 : envoyer beaucoup de données possible ?
Fermé
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
-
3 févr. 2014 à 14:49
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 10 févr. 2014 à 11:38
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 10 févr. 2014 à 11:38
A voir également:
- PHP et MS SQL 2012 : envoyer beaucoup de données possible ?
- Windows live mail 2012 - Télécharger - Mail
- Easy php - Télécharger - Divers Web & Internet
- Word 2012 - Télécharger - Traitement de texte
- Windows movie maker 2012 - Télécharger - Montage & Édition
- Telecharger tuneup utilities 2012+serial gratuit - Télécharger - Divers Utilitaires
1 réponse
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
10 févr. 2014 à 11:38
10 févr. 2014 à 11:38
Re coucou !
Bon, en l'absence de réponse, j'ai dû improviser et faire avec ce que je pouvais trouver sur Internet. Je suis donc passé par un intermédiaire, le fichiers CSV ; une première étape créé le fichier CSV en récupérant les données avec l'ODBC, la seconde étape consiste à faire un INSERT pour chaque ligne de ce fichier CSV (l'intermédiaire CSV, bien qu'inutile et contraignant, me permet de faire une vérification des données importées car les scripts sont exécutés 1 fois par demi heure, 1 fois par jour et 1 fois par mois).
En gros :
Création du CSV, avec :
Puis import dans la base MSSQL 2012 :
Avec
Voilà en gros comment ça marche.
Je laisse ce sujet en non résolu car si quelqu'un passe par ici et à une solution moins ressourcesovore à me proposer, je suis preneur ;-)
Bon, en l'absence de réponse, j'ai dû improviser et faire avec ce que je pouvais trouver sur Internet. Je suis donc passé par un intermédiaire, le fichiers CSV ; une première étape créé le fichier CSV en récupérant les données avec l'ODBC, la seconde étape consiste à faire un INSERT pour chaque ligne de ce fichier CSV (l'intermédiaire CSV, bien qu'inutile et contraignant, me permet de faire une vérification des données importées car les scripts sont exécutés 1 fois par demi heure, 1 fois par jour et 1 fois par mois).
En gros :
Création du CSV, avec :
$handle = fopen(moncsv.csv, 'w+');
fputcsv($handle, array(titre_champ1, titre_champ2, titre_champ3, ...))
$result = odbc_exec($cnxIFX, "SELECT * FROM table WHERE ...");
while (odbc_fetch_row($result)) {
fputcsv($handle, array(
odbc_result($result, 'champ1'), odbc_result($result, 'champ2'), odbc_result($result, 'champ3'), ....
)
}
Puis import dans la base MSSQL 2012 :
$query = "INSERT table values (?,?,?...)
$param01 = null;
$param02 = null;
$param03 = null;
...
$params = array(
&$param01, &$param02, &$param03, ...)
$prep = prepare($cnxMSSQL, $query, $params);
$file = "moncsv.csv";
$csv_array = file($file);
foreach ($csv_array as $row_num => $row) {
$row = trim ($row);
$column = explode ( ',' , $row );
$param01 = $column[0];
$param02 = $column[1];
$param03 = $column[2];
...
$result = execute ( $prep );
Avec
prepare()et
execute()qui sont des fonctions définies sur une autre page (trouvées sur le net ;-))
Voilà en gros comment ça marche.
Je laisse ce sujet en non résolu car si quelqu'un passe par ici et à une solution moins ressourcesovore à me proposer, je suis preneur ;-)