appel de fichiers .sql dans pro*C

appel de fichiers .sql dans pro*C - SQL/NoSQL - Programmation

Marsh Posté le 18-01-2005 à 19:39:30    

Voici mon probleme :
 
Je voudrai créer un fichier pro*C qui va permettre la creation d'objets d'une base.
Pour préciser voici les lignes que je tape dans mon client sql+ :
 
start Z:\travail\01-Preliminaires\01-creation_utilisateurs.sql;
start Z:\travail\01-Preliminaires\02-base.sql;
start Z:\travail\01-Preliminaires\03-privileges.sql;
start Z:\travail\01-Preliminaires\04-contraintes.sql;
start Z:\travail\01-Preliminaires\05-procedure-declencheur_sur_date.sql;
start Z:\travail\01-Preliminaires\06-donnees.sql;
start Z:\travail\01-Preliminaires\07-donnees_test_contraintes.sql;
 
voila en gros des fichiers .sql permettant la creation
- des utilisateurs
- des privileges
- des tables
- des donnees
- des triggers
..
 
pour info voici mon .pc:
 
#include <process.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <sqlda.h>
#include <sqlcpr.h>
EXEC SQL BEGIN DECLARE SECTION;
 char fic[50]="C:\travail\01-Preliminaires\06-donnees.sql";
 char login[20]="**";
 char pswd[20]="**";
 char db_string[20]="**";
 char db_name[10] = "**";  
EXEC SQL END DECLARE SECTION;
void
main(){
printf ("Connexion ...\n" );
EXEC SQL CONNECT :login IDENTIFIED BY :pswd AT :db_name USING :db_string;
printf ("Creations preliminaire" );
 
/* ici le code manquant portant sur ma question
EXEC SQL AT :db_name
 
*/
printf ("\nCreations effectuees\n" );
system("PAUSE" );
execl("..\\11-menu\\menu.exe","menu","1",0);
printf("ERREUR EXEC\n" );
}
 
 
voici ma question :  
-------------------
 
Comment executer directement ces fichiers directement par le pro*C, sans avoir à taper la commande sous sql+ et sans recopier ces fichiers dans le .pc
Est-ce possible?
qu'elles sont les solutions.
 
merci de vos reponses
 
ps: desole pour ces smileys qui s'ecrivent en place et lieu du code mais vous aurez deviné le code


Message édité par izayoi le 19-01-2005 à 12:24:07
Reply

Marsh Posté le 18-01-2005 à 19:39:30   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed