Probleme d'alias

koaiz Messages postés 49 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 8 août 2009 - 18 févr. 2005 à 10:34
amlila Messages postés 1 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 4 août 2010 - 4 août 2010 à 11:07
j'ai cree une application de base de donne pour
qu'un utilisateur l'install chez un lui il doit cree
l'alias de la base mais si c'est un simple utilisateur
comment faire pour que l'application
cree son propre alias. ou ne pas utiliser d,alias du tout


Sortez moi de se trou svp.

plus on vie plus on apprend

12 réponses

jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
18 févr. 2005 à 11:03
Hello,



Voici comment créer dynamiquement un alias :

Session.AddStandardAlias('MonAlias',Repertoire où se situe le fichier .net,'PARADOX');


Puis pour le detruire ca peut servir aussi :

If Session.IsAlias('MonAlias') then Session.DeleteAlias('MonAlias');


Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
0
koaiz Messages postés 49 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 8 août 2009
18 févr. 2005 à 19:42
Repertoire où se situe le
Fichier .net
C'est le repertoire des tables ou quoi pardon car je devlope depuis tres lontemps mais j'ai complexe vis a vis des base de donnes et surtout l'alias je le deteste

plus on vie plus on apprend
0
DGPat Messages postés 53 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 1 août 2006
19 févr. 2005 à 09:19
Hello,

Je ne vois pas pourquoi il doit créer son Alias quand tu as créé ton appli tu as du donner un nom d'Alias a tes TTable, non? si tu fourni une application de Base de données qui utilise le BDE tu dois fournir celui-ci avec ton appli et ton problème est résolu tes bases fonctionnerons, En utilisant InstallShield fourni avec le logiciel Delphi tu inclus le BDE dans le prog que tu distribue.

DGPat
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
19 févr. 2005 à 12:19
Un alias est un nom symbolique désignant le chemin où est située une base de données.
Quand on installe le BDE, il n'y a pas d'alias créé correspondant à son application. Evidemment, si on se contente d'utiliser la base de données DbDemos fournie avec Delphi, je suis d'accord avec ce qui est écrit ci-dessus.

Donc, une fois le BDE et l'application installés, comment faire pour accèder à sa base de données ?
Trois possibilités : utiliser un alias permanent, un alias temporaire ou déclarer le chemin d'accès aux tables utilisées par l'application.

Pour ne pas avoir à modifier chaque composant orienté données (TTable, TQuery, etc), il est recommandé d'utiliser un composant TDataBase.

Voici un code qui crée un alias temporaire. Voir les commentaires pour l'adapter à la création d'un alias persistant.

<!--StartFragment-->
procedure TForm1.FormCreate(Sender: TObject);
var
  SessionsList: TStringList;
  AliasPath: string;
const
  AppAlias =  'AppAlias';
begin
  SessionsList := TStringList.Create;
  try
    Session.GetAliasNames(SessionsList);
    {On regarde si l'alias existe d&#233;j&#224;}
     if  SessionsList.IndexOf(AppAlias)  = -1 then
    begin
      AliasPath := ExtractFilePath(Application.ExeName) + 'bdd';
      {L'alias ne sera pas sauvegard&#233; dans le fichier
      de configuration du BDE. Rappels :
      cfmVirtual	Tous les alias du fichier de configuration BDE
      (le stockage permanent BDE) ainsi que les alias propres &#224; la session
      sont accessibles dans cette session.

      cfmPersistent	Seuls les alias du fichier de configuration BDE ou
      ceux ajout&#233;s au stockage permanent sont accessibles dans cette session.

      cfmSession	Seuls les alias cr&#233;&#233;s dans cette session sont
      accessibles.}
      Session.ConfigMode := cmSession;
      { L'index n'existe pas, il faut le cr&#233;er}
      Session.AddStandardAlias(AppAlias, AliasPath, 'Paradox');
    end;
  finally
    SessionsList.Free;
  end;
end;



Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
koaiz Messages postés 49 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 8 août 2009
22 févr. 2005 à 17:27
Je suis tres heureux d'avoire des copins comme vous les Pots vous m'ete d'un grans secour cette fois je voudrais savoire comment verifier que l'alias existe deja pour ne pas le cree a chaque fois

P.S: J'ai trouver un composant qui permet de ne pas cree d'alias et d'eviter les problemes qui s'ensuit il integer la table a l'exectable de l'application elle sera plus en securiter car elle ne peut etre lu que par l'application se composant s'applle EASYTABLE disponible sur la net

plus on vie plus on apprend
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
22 févr. 2005 à 19:44
"comment verifier que l'alias existe deja pour ne pas le cree a chaque fois"

La réponse est donnée dans le code ci-dessus :
if SessionsList.IndexOf(AppAlias) = -1 then //alias non trouvé !

Pas besoin non plus de créer des alias persistants ni d'utiliser de composants tiers pour faire fonctionner l'application. As-tu réellement lu les commentaires dans le code que j'ai déposé ci-dessus ?

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
0
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
4 mars 2005 à 15:08
Hello Delphiprog,



Dis moi ej ne connaissais pas le commande Session.ConfigMode j'ai voulu l'implémenter dans mon code mais j'ai une erreur :

---------------------------

Notification d'une exception du débogueur

---------------------------

Le projet Async.exe a provoqué une classe d'exception EDatabaseError
avec le message 'Impossible d'effectuer cette opération sur une session
active'. Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour
continuer.

---------------------------

OK Aide

---------------------------



Est ce que tu aurais une idée du pourquoi, comment de cette erreur stp???



Merci d'avance.

++,
JMP77
0
Meghslim Messages postés 3 Date d'inscription mardi 21 mars 2006 Statut Membre Dernière intervention 23 mars 2006
23 mars 2006 à 11:43
mais comment le faire pour une apllication

crée un alias dynamiquement
0
sidouo Messages postés 15 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 31 mars 2010
1 juil. 2008 à 18:20
salut
tout j'ai le meme probleme

alors mois je cree une application d'un repertoire telephonique  et j'utilise des tabels access

j'ai creer des dalias avce ODBC du window 

mais lorque je cree un setup avce insttalsheld ca va pas marcher parceque le lien de la base serat changer

alors la methode ces cedessus ...........

je sais pas comment comment proceder

alors je vais quoi metre dans la forme une database ensuite ....... quoi ?! et aussi ou je vais tapper ce code la

dvp aider moi

et merci
0
java1 Messages postés 3 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 29 juin 2010
29 juin 2010 à 10:33
ajoute ça a uses et ca va marché
StdCtrls, Buttons, ExtCtrls, DB, DBTables, Grids, DBGrids
;
0
java1 Messages postés 3 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 29 juin 2010
29 juin 2010 à 10:45
écoute ce codes marche bien mais si le compilateur te fait session ....
ajoute DBTables a uses dans l evenement form create de ta fiche principale et bonne courage
et voici le code pour créer alias:

procedure TForm1.FormCreate(Sender: TObject);
var
SessionsList: TStringList;
AliasPath: string;
const
AppAlias = 'fac';
begin
SessionsList := TStringList.Create;
try
Session.GetAliasNames(SessionsList);
{On regarde si l'alias existe déjà}
if SessionsList.IndexOf(AppAlias) = -1 then
begin
AliasPath := 'D:\BASEFACT1';
{L'alias ne sera pas sauvegardé dans le fichier
de configuration du BDE. Rappels :
cfmVirtual Tous les alias du fichier de configuration BDE
(le stockage permanent BDE) ainsi que les alias propres à la session
sont accessibles dans cette session.

cfmPersistent Seuls les alias du fichier de configuration BDE ou
ceux ajoutés au stockage permanent sont accessibles dans cette session.

cfmSession Seuls les alias créés dans cette session sont
accessibles.}
Session.ConfigMode := cmSession;
{ L'index n'existe pas, il faut le créer}
Session.AddStandardAlias(AppAlias, AliasPath, 'Paradox');
end;
finally
SessionsList.Free;
end;


end;
0
amlila Messages postés 1 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 4 août 2010
4 août 2010 à 11:07
bonsoir tout le monde
voila jai un probleme d'alias
est ce que a chaque fois je cree une table je cree un alias ?
merci de m aider vraiment j arrive pas a avancer dans mon application a cause des alias
0
Rejoignez-nous