un fichier de commande sql - SQL/NoSQL - Programmation
Marsh Posté le 23-08-2005 à 15:34:11
la_marseillaise a écrit : Bonjour |
Quel est ton SGBD ?
Marsh Posté le 23-08-2005 à 15:41:18
Ce sont des commandes de quels types, parce que je tourne actuellement sous sql server 2000, et j'ai réalisé mes commandes (création de tables, droits, procédures ...) dans un fichier texte. Ensuite je n'ai plus qu'à les copier-coller dans l'analyseur de requêtes pour qu'il me les exécute !
Marsh Posté le 23-08-2005 à 15:44:22
le problème c'est que j'ai 33882 à copier coller
et mon pc plante à chgaqye coup
j'avais fait des copier coller pour 7000 lignes ca allait
mais la faut que je trouve une autre solutuon
en fait j'ai 33882 ligne qui sont des insert into......
aidez moi svp
merci
Marsh Posté le 23-08-2005 à 15:47:03
Ces 33882, ce sont des données que tu doit insérer dans ta futur base de données sous sql server 2000 ???
Marsh Posté le 23-08-2005 à 15:48:59
la bases existe déja
les tables existes déja
il faut juste que je les complètes avec des
infos nouvelles qui sont ses 33882 lignes
Marsh Posté le 23-08-2005 à 15:49:12
Fry85 a écrit : Ces 33882, ce sont des données que tu doit insérer dans ta futur base de données sous sql server 2000 ??? |
oui, parce que si c ca, tu peux faire des imports depuis une base ds une autre...
Marsh Posté le 23-08-2005 à 15:50:17
Ces données elles sont stocké sur une autre base de données (quel type)?? ou dans des fichiers ??
Marsh Posté le 23-08-2005 à 15:50:46
non ces 33882 lignes ne viennent pas d'une bases
se sont des calculs de chiffres d'affaires que j'ai effetué moi meme
Marsh Posté le 23-08-2005 à 15:52:06
les données sont dans un fichiers texte
j'ai fait un script perl qui me construit
automatiquement tous les insert
je me retrouve avec un fichier de 33882 lignes d'insertion
Marsh Posté le 23-08-2005 à 15:53:14
Donc dans ton fichier c'est de la forme :
INSERT INTO ...
VALUES ...
et ca sur 33882 lignes !!
Marsh Posté le 23-08-2005 à 15:55:14
Et si tu copie ces lignes dans l'analyseur de requêtes ??
Il plante ?? Il ne veut pas plus de 7000 lignes ??
Marsh Posté le 23-08-2005 à 15:57:38
je sais que sous oracle on peu ecrire du sql dans un fichier et le charger
mais je connais pas sql server
il doit surement y avoir un truc comme ca?
Marsh Posté le 23-08-2005 à 15:59:18
T'as essayé de chercher dans l'aide de sql server si y'avait pas des fonctions permettant l'exécution de fichiers. Parce que si l'analyseur est limité en caractères, l'exécution de fichier risque de ne pas l'être.
Marsh Posté le 23-08-2005 à 16:05:18
la_marseillaise a écrit : oui mais je n'ai rien trouver |
sinon, un script vbs qui parcourt ton fichier texte et qui execute tes insert into... n'irait pas ?
Marsh Posté le 23-08-2005 à 16:07:15
Utilisation de script
On peut enregistrer le code SQL dans des fichiers textes dextension .sql (il sagit-l`a dune convention
que lon adopte) pour les ex´ecuter plus tard. Sous MS-DOS, on peut ex´ecuter un script truc.sql avec
lutilitaire osql en tapant :
osql -i truc.sql
Marsh Posté le 23-08-2005 à 16:10:26
euh g ptet une soluce, mais il faudra que tu ai tes données sans avoir les commandes d'insertion propres à sql server.
Dans l'appli que je fais en ce moment, je récupère des données voulues d'une autre appli, et je les exporte dans un fichier texte avec un caractère délimitant les champ, et un délimitant les lignes d'insertion.
Ensuite avec la procédure BULK INSERT, sql lit le fichier et retrouve les champs et les lignes. J'insère comme ça quelques 50 000 lignes en qq secondes dans un table temporaire, après y'a des traitements à faire pour mon cas !
Che pas si ça peut t'aider !
Marsh Posté le 23-08-2005 à 16:23:01
Et avec l'assistant DTS ???
Tu va dans Server Manager, clic droit sur ta base de données->Importation de données.
La tu sélectionne ton fichier texte...
Ptet que ça peut fonctionner !!
Marsh Posté le 23-08-2005 à 16:24:19
je sais pas ce que c'est que ce dts.....
moi je n'utilise que des commandes dos
Marsh Posté le 23-08-2005 à 16:27:03
T'utilise pas les interfaces graphiques de SQL Server 2000 (analyseur de requêtes et Server Manager)??
Regarde dans la doc de SQL Server y'a pas mal d'explication et il me semble que ça doit être faisable en ligne de commande (mais ça risque d'être plus compliqué).
Marsh Posté le 23-08-2005 à 16:29:49
j'ai le msde!!!!!!!!!!!!!!!!!!!!!
j'ai trouvé osql -S nom_de_l_instance -E -d nom_de_la_base -i nom_du_fichier.sql
Marsh Posté le 23-08-2005 à 16:33:02
A toi de voir, parce que sous mon 2000, c un le bordel à comprendre leurs explication et à utiliser ces commandes.
Mais ça à l'air de ressembler à ce que tu veux !
Marsh Posté le 23-08-2005 à 16:39:27
euh, ben moi je les ai dans mon menu "Démarrer" tout simplement. Mais je connais pas la version MSDE alors peut être quelle n'y sont pas fournies !
Marsh Posté le 23-08-2005 à 16:47:47
Je viens de lire que dans MSDE, l'analyseur de requêtes y ai fourni mais pas Entreprise manager ! Par contre il existe une version ASP équivalente à celui ci
http://dotnet.developpez.com/articles/msde/
Marsh Posté le 23-08-2005 à 17:02:04
je vais rester sur mon dos.
je te remercie pour tout
passe une une bonne fin de journée
Marsh Posté le 23-08-2005 à 15:25:10
Bonjour
j'ai beaucoûp de commande à écrire et je voudrais les mettre dans
un fichier pour le sgbd.
est ce possible?
comment faire?
merci ;-)