ouvrir une base sur un autre serveur

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

ouvrir une base sur un autre serveur

Messagepar Nathou » 11 Déc 2003 à 16:07

Bonjour a tous!Voici mon code qui rappatrie le contenu de la colonne numero1 de la vue ATBD dans la base NAME.nsf qui se trouve sur le meme serveur que la base qui effectue cette operation :@DbColumn("":"NoCache";@Subset(@DbName;1):"FOLDER/NAME.nsf";"ATBD";1)Ma base ayant change de serveur... comment est ce que je peux indiquer (meme en dur) le nom de l'autre serveur? Au secours!!!!@+Nathou[%sig%]
Nathou
 

Re: ouvrir une base sur un autre serveur

Messagepar Raziel » 11 Déc 2003 à 16:16

Salut,Le plus simple (en maintenant et évolution) serai de passer par un document de paramétrage dans lequel tu indiquerai le nom de serveur hébergeant le Carnet d'adresse
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Re: ouvrir une base sur un autre serveur

Messagepar Nathou » 11 Déc 2003 à 16:22

Ouille Ouille Je suis un tout petit peu debutante... comment on fait tout ca????[%sig%]
Nathou
 

Re: ouvrir une base sur un autre serveur

Messagepar Nathou » 11 Déc 2003 à 17:11

Et pour l'ecrire en dur qu'elle serait la syntaxe a utiliser ? simple cotes? double cotes? slash? etc.....Merci d'avance!!![%sig%]
Nathou
 

Re: ouvrir une base sur un autre serveur

Messagepar polbusse » 11 Déc 2003 à 17:15

@DbColumn("":"NoCache";"nomduserveur":"FOLDER/NAME.nsf";"ATBD";1)
polbusse
 

Re: ouvrir une base sur un autre serveur

Messagepar AdminExpert » 12 Déc 2003 à 16:20

Ceci fait appel au documents "profil" et y a des fonction @ qui permettent d'y accèder ou passer par du LSje te donne la suite a+
AdminExpert
 

Re: ouvrir une base sur un autre serveur

Messagepar AdminExpert » 12 Déc 2003 à 16:36

je laisserai un post sur la réalisation de documents profil pour ceux qui ne connaissent pas troplaissez moi un peu de temps pour la frappe...
AdminExpert
 

Re: ouvrir une base sur un autre serveur

Messagepar CED76 » 12 Déc 2003 à 17:02

C très bien expliqué dans l'aide designer....
CED76
 

Re: ouvrir une base sur un autre serveur

Messagepar AdminExpert » 12 Déc 2003 à 22:25

Je sais mais si les exemples ci-dessous peuvent aider.....Pour ceux qui sont déjà avertis à ce genre de programmation, il n'y a pas de Pb mais il faut penser à ceux qui débutent et bien souvent il y a des pages de trucs et astuces pour moins que cela.A ceux qui veulent en profiter...1/ créer un masque "profil" permettant de saisir les paramètresexemple - Nom du serveur : p0Serveur- Nom de la base : p0Basedans ce masque y mettre deux boutons (Annuler, OK)* AnnulerFIELD SaveOptions:="0"; REM "quand on fait echap ça évite d'avoir la boîte de dialogue d'enregistrement";@Command([FileCloseWindow])* OK@Command([FileSave])2/ donner un nom au masquepar habitude je donne un alias aux masques que j'utilise et je préfixe les alias profil par la lettre p0.mes noms de champs commencent par l'alias du masque.==> cette technique me permet de repérer mes champs facilement quand mon application comportent plusieurs masques, on sait directement à quel masque appartient un champs quand la liste des champs est présentée dans la conception d'une vue, à la lecture des formules et des LS c'est aussi plus simple.Je mets toujours ces préfixes en minuscule. Pour chaque préfixe je prends deux caractères, exemple pour un masque client je prends "cl"...(voici au passage quelques bonnes règles de programmation)dans les propriétés du masque ne le pas faire figurer dans le menu création et da ns les recherchesil ne doit pas être le masque par défaut4/ accès au masque en modification :- accès par formules @@Command([EditProfile];"p0");On y accède soit via un agent, soit un bouton de vue, soit via une action de navigateur, soit... (votre choix)- LS :Dim w As NotesUIWorkspaceSet w=New NotesUIWorkspaceCall w.EditProfile("p0")5/ accès aux champsPour lire un champs/récupérer la valeur d'un champ- formules @P1:=@GetProfileField("p0" ; "p0Serveur");P1:=@GetProfileField("p0" ; "p0Base");- LS :Dim s As notessessionDim db As notesdatabaseDim profil As notesdocumentSet s=New notessessionSet db=s.currentdatabaseSet profil = db.GetProfileDocument( "p0" ) msgbox "nom du serveur " & profil.p0Serveur(0) & " nom de la base " & profil.p0Base(0)6/ mise à jour des champs- formules @@SetProfileField("p0" ; "p0Serveur" ; "ACSRV/CORPORATE" );@SetProfileField("p0" ; "p0Serveur" ; "TECHNIC.NSF" );- LS :Dim s As notessessionDim db As notesdatabaseDim profil As notesdocumentSet s=New notessessionSet db=s.currentdatabaseSet profil = db.GetProfileDocument( "p0" )profil.p0Serveur="ACSRV/CORPORATE"profil.p0Base="TECHNIC.NSF"call profil.save(true,false)Bien maintenant... vous savez tout ou presque tout sur la gestion des documents "profil". Cette notion est apparue avec la version 4 de Lotus Notes. Toutefois on peut se passer de cette technique et utiliser des documents de type standard. On y accède par le biais des vues et d'un mot clé. Pour cela on utilise le @DBLookup ou la méthode View.GetDocumentByKey(cle).Exemple :- Création d'un document comme celui ci-dessus ; celui-ci contient un autre champ texte p0Clef ; ce dernier aura pour valeur "p0" ; cette valeur est arbitraire mais elle doit être fixée au départ car elle sera utilisée comme cléf.- Création d'une vue pseudo VP0colonne 1 : p0Clefcollonne 2 : p0ServeurColonne 3 : p0BaseTri sur la colonne 1- il sera nécessaire de créer le document avec au minimum la clé p0Clef renseignée- la modification du document se fera via l'accès à une vue ; celle sera protégée par un accès via un navigateur (si besoin)en formules @ :srv:=@DBlookup("":"Nocache";"":"":"VP0";"p0";1);base:=@DBlookup("":"Nocache";"":"":"VP0";"p0";2);pour contrôler le bon déroulement du @DBLookup on utilisera @IsError(srv) ou @IsError(base)en LS :Dim s As notessessionDim db As notesdatabaseDim view as notesviewDim profil As notesdocumentSet s=New notessessionSet db=s.currentdatabaseSet view=db.getview("VP0")Set profil = view.GetDocumentByKey( "p0" )Rem *** vérification de la présence du document ***if not (profil is nothing) then profil.p0Serveur="ACSRV/CORPORATE" profil.p0Base="TECHNIC.NSF" call profil.save(true,false)end ifcette méthode permet de récupérer en LS la gestion de documents paramètres établis pour les versions antérieures à la V4...
AdminExpert
 


Retour vers Développement

cron