|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 2 ![]() |
Bonjour,
J'ai développé une application en ASP qui se connecte à une base Access. Celle-ci est liée à un fichier CSV qui est écrasé chaque jour par une nouvelle version car une tâche programmée le génère et le copie. Ce CSV est un export Exchange/Active Directory dont je ne conserve que certains champs (displayName, physicalDeliveryOfficeName, company, mail, title). Or, certaines fois, je perds le champ "title", pourtant bien rempli dans Access, ou certains champs sont inversés. En refaisant la liaison tout rentre dans l'ordre mais c'est quand même embêtant... Le souci, c'est que l'export de l'AD n'est pas paramétrable et je ne peux pas mettre comme séparateur le point-virgule à la place de la virgule. Du coup, dans Access, lors de ma liaison, je choisis "Avancé" pour indiquer que le signe décimal est le point et non la virgule, que le séparateur de chaine est le guillemet, que je ne prends pas le champ DN, que la première ligne contient le nom des champs, etc. Je me demande comment faire pour ne pas être obligé de refaire la liaison chaque fois que je perds un champ ou que certains champs sont inversés (leur contenu) mais surtout, pourquoi j'ai ces soucis. Quelqu'un a-t-il une solution à me proposer ? Merci d'avance. |
|
|
00
|
|
|
#2 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
Je n'ai pas de réponse à tes deux questions mais je te propose de contourner le problème. Au lieu d'utiliser un fichier lié je te suggère de charger à la main tes données dans une table avec un peu de VBA.
Exemple de code faisant cela : Code :
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 2 ![]() |
Merci de ta réponse, mais cela n'est pas possible.
Il faut bien comprendre que la base Access n'est jamais ouverte. Seul le fichier CSV est copié chaque jour. De plus, la .BAT qui automatise exécute une commande DOS d'export des données de l'Active Directory/Exchange dans ce fichier CSV puis copie ce fichier du serveur Exchange sur le serveur IIS. Lors de cet export en CSV, les guillemets sont "échappés", c'est-à-dire que je vais avoir par exemple : "DN=Liste \\""commune\\"" des services",.... Le serveur IIS, au travers d'une page en ASP, attaque la table liée et il arrive parfois que le champ "title" soit vide. Il est même arrivé que deux champs soient inversés. Pourtant, en ouvrant Access, toutes les données sont là. Je me demande si je ne vais pas aller chercher les infos avec RS(0) plutôt qu'avec RS("DisplayName") pour voir... |
|
|
00
|
|
|
#4 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 474 ![]() |
Donc ta BD Access ne sert que de point d'accès au fichier pour ton programme ASP. C'est bien cela ?
Ne peux-tu accéder directement au fichier CSV via ton programme ASP en le postant sur ton serveur IIS ? Ce serait peut être plus performant mais surtout tu enlèverai une pièce du puzzle. Au fait c'est de l'ASP 3.0 ou ASP.Net ? Ici tu trouvera un exemple de lecture de fichier avec ASP 3.0. http://www.codeproject.com/KB/asp/readfile.aspx A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com