begin process at 2012 05 27 18:13:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

AU SECOURS !!!!

 > 

ASP - ORACLE - EXCEL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ASP - ORACLE - EXCEL

mercredi 16 mars 2005 à 09:24:53 | ASP - ORACLE - EXCEL

tommie

bonjour tout le monde, j'ai un probleme avec une connexion a une base de données
en fait j'ai trouvé un morceau de code qui me permet a partir d'un fichier excel d'extraire les données qui sont dedans afin d'alimenter une base de donées oracle
le probleme que j'ai c'est que ca fonctionne parfaitement avec une base de données oracle en local mais quand je veux attauqer celle qui se trouve sur un serveur je n'y arrive pas
pourriez vous m'aider a corriger mon code ou a me donner une astuce afin d'y arriver
merci de votre aide a tous

je vous joins mon code ainsi que l'erreur qu'y s'affiche (la ligne d'erreur est en rose)

<%
set conn=Application("connexion")

Set Conn2 = Server.CreateObject("ADODB.Connection")
str = "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" & Server.MapPath(".") &"\test.xls"
Conn2.Open str

SQL = "SELECT * from salarie"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, Conn2
rs.movefirst
do while rs("Mat") <> ""
response.Write(rs("matricule")&" | "&rs("nom")& " <br>")
req_verif = "Select * from test where matricule = " & rs("matricule")
Set rs_verif = Server.CreateObject("ADODB.Recordset")
rs_verif.Open req_verif, conn
if (rs_verif.EOF = True AND rs_verif.BOF = True) then
    req_insert = "INSERT INTO test(matricule,nom) values(" & rs("matricule") & ", "& rs("nom") & ")"
    Set rs_insert = Server.CreateObject("ADODB.Recordset")
    rs_insert.Open req_insert, conn
end if

rs.movenext
Loop
rs.close
set rs=nothing
conn2.close
set conn2=nothing
%>

 

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/test1.asp, line 6

jeudi 17 mars 2005 à 22:43:37 | Re : ASP - ORACLE - EXCEL

Yopyop

elle est ou ta chaine de connexion à Oracle ?

yopyop
vendredi 18 mars 2005 à 08:51:27 | Re : ASP - ORACLE - EXCEL

tommie

salut en fait toute ma connexion se fait dans un fichier global.asa ou je met tout ca dedans:


<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER">
sub Application_OnStart
Application.Value("dateOuverture")=now()
on error resume next
MM_db_bilmat_STRING = "Provider=MSDAORA;Data Source=INTRANET;USER ID=SPADMIN;PASSWORD=SPADMIN;"
set Application("connexion") = Server.CreateObject("ADODB.Connection")
Application.Value("connexion").Open MM_db_bilmat_STRING
if err <> 0 then
response.write(err.description)
response.end
end if
set conn=Application.value("connexion")
if err <> 0 then
response.write(err.description)
response.end
end if
end sub
s
ub Application_OnEnd
set conn=Application.value("connexion")
Application.Value("connexion").Close
set Application.value("connexion")=nothing
end sub
sub Session_OnStart
Session.timeout=60
end sub
sub Session_OnEnd
set conn=Application("connexion")
end sub
</script>


et j'appelle ma connexion dans ma page avec ceci:
set conn=Application("connexion")

et je ne comprends pas pourquoi ca ne fonctionne pas
par contre j'aimerais savoir egalement si tu saurais comment passer de .xls en .csv ???
changer dans ma page asp que ce soit du csv et non plus du xls car j'ai essayé de modifier mon fichier mais ca me ressort des erreurs
merci de ton aide

vendredi 18 mars 2005 à 23:53:53 | Re : ASP - ORACLE - EXCEL

Yopyop

En fait, c'est peut-être simplement que :
1/ le fichier est-il bien uploadé sur le serveur ?
2/ as-tu les drivers Excel installés sur le serveur qui permettent de te connecter à excel (Microsoft Excel Driver )?

Pourquoi veux-tu convertir ton fichier xls en csv ? Ca fonctionne relativement bien avec Excel non ?
En ce qui me concerne, si c'est toi qui fait l'upload, je te conseille de convertir ton fichier xls en csv avant de l'uploader.
Ensuite tu ouvres ton fichier avec filesystem (comme un fichier text), tu le lis ligne par ligne et tu insert dans Oracle (t'as beaucoup de données ? car tu peux également uploader le pl/sql directement).

Autrement c'est la grosse galère. Il faut créer un objet Excel, lancer l'application (côté serveur), ouvrir ton fichier sur le serveur, et convertir dans oublier de killer excel (et là tu risque d'avoir pas mal de problèmes).

Donc question:
Driver Excel ok ? (as-tu excel sur le serveur en gros)
C'est toi qui fait l'upload (-> utlisateur avancé)

Réponse:
Conversion xls -> csv sur le serveur ... vraiment à éviter.
yopyop
lundi 21 mars 2005 à 10:17:34 | Re : ASP - ORACLE - EXCEL

tommie

salut,
donc en fait c'est bien ce que tu me disais c'est que excel n'est aps installé sur le serveur je me suis renseigné
et en fait le soucis qu'il y a c'est qu'ils veulent que je fasse ca avec des fichiers csv car ils ne veulent pas mettre excel sur le serveur a cause des licences a payer pour ca
donc je voudrais savoir si tu saurais comment faire pour faire la meme chose avec un fichier csv??

je te rejoins mon code que j'ai pour du xls et dis moi si tu vois comment le modifier pour prendre en compte le csv
merci de ton aide


<%
set conn=Application("connexion")

Set Conn2 = Server.CreateObject("ADODB.Connection")
str = "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" & Server.MapPath(".") &"\test.xls"
Conn2.Open str

SQL = "SELECT * from salarie"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, Conn2
rs.movefirst
do while rs("Mat") <> ""
response.Write(rs("matricule")&" | "&rs("nom")& " <br>")
req_verif = "Select * from test where matricule = " & rs("matricule")
Set rs_verif = Server.CreateObject("ADODB.Recordset")
rs_verif.Open req_verif, conn
if (rs_verif.EOF = True AND rs_verif.BOF = True) then
    req_insert = "INSERT INTO test(matricule,nom) values(" & rs("matricule") & ", "& rs("nom") & ")"
    Set rs_insert = Server.CreateObject("ADODB.Recordset")
    rs_insert.Open req_insert, conn
end if

rs.movenext
Loop
rs.close
set rs=nothing
conn2.close
set conn2=nothing
%>


lundi 21 mars 2005 à 19:28:55 | Re : ASP - ORACLE - EXCEL

Yopyop


Salut,

J'en ai parlé un peu plus haut:
tu ouvres ton fichier avec filesystem (comme un fichier text), tu le lis ligne par ligne et tu insert dans Oracle (t'as beaucoup de données ? car tu peux également uploader le pl/sql directement).

Désolé, j'ai pas mon code sous la main :(

Tu check si le fichier existe bien:
[ Lien ]

Tu chopes le fichier
a) [ Lien ]
et
b) [ Lien ]

Pour chaque ligne  tu fais un split
MonSeparateur = "++++"  <- il faut utiliser une string que tu es sûr de ne pas utiliser dans tes valeurs
MaLigne = f.ReadLine (cf a)
MonTableau = Split(MaLigne, MonSeparateur)

Ensuite tu peux accéder au tableau :
MonTableau (0) = "Nom"
MonTableau (1) = "Prenom"
MonTableau (2) = "Email"

Donc faire un insert ..

sSQL = "INSERT INTO TABLE (champs1, ..., champN) "
sSQL = sSQL & " values (" & MonTableau(0) & "," & ... & ",'" & MonTableau(N) & "') "

Tu peux mettre un BEGIN & ssqL & END si tu veux passer du pl/sql (faut pas qu'il y ai trop de insert).

Avec ca tu devrais t'en sortir ?
Au cas ou, demande... j'irai fouiller dans mes archive si tu veux un example détaillé.

yopyop
mardi 22 mars 2005 à 14:45:17 | Re : ASP - ORACLE - EXCEL

tommie

je te remercie deja pour tout ce que tu fais mais en fait j'ai beaucoup de mal a m'en sortir donc effectivement un exemple détaillé de tes archives m'aiderait beaucoup!!
merci
mardi 22 mars 2005 à 20:11:16 | Re : ASP - ORACLE - EXCEL

Yopyop

oki,

d'ici un-deux jours ca te va ?

yopyop
mercredi 23 mars 2005 à 10:59:54 | Re : ASP - ORACLE - EXCEL

tommie

ok pas de probleme

je te remercie

bonne journée


mercredi 23 mars 2005 à 19:43:37 | Re : ASP - ORACLE - EXCEL

Yopyop

petites questions encore...

tu insères dans une seule table ?
la table dans laquelle tu insères a-t-elle des foreign keys?

yopyop

1 2

Cette discussion est classée dans : set, server, rs, matricule, verif


Répondre à ce message

Sujets en rapport avec ce message

Statistiques [ par flopad ] Bonjour, j'essaie le script suivant trouvé ici , j'ai adapté les lignes à mon cas mais cela ne fonctionne pas; quelle est la syntaxe pour faire un inc HTTP 500 erreur interne [ par flopad ] Bonjour, j'ai l'erreur suivante lorsque j'ouvre une page asp de ce style :Set conn = server.createobject("adodb.connection") DSNtemp = "Provider=Micro probleme d'update [ par valaidnew ] Bonjour à toutes et tous, J'ai un serieux probleme avec ma(mes) clauses update. Apres avoir un mot de passe sur un des base de donnees, il ne me fai réutilisation de code dans chaque page [ par Run85 ] Bonjour, je débute en .NET et j'ai une question sans doute très simple: je souhaite réutiliser du code dans chaque page. Je souhaite récupérer le résu Image.MaxX & Image.MaxY --> popup [ par AeroZeppelin ] Hey, je voudrai savoir comment passer les paramètres Image.MaxX & Image.MaxY dans lapopup afin d'afficher celle ci à la taille de l'image.code: Set xsl passage de parametre [ par nathdiscaz ] Set xmldoc = Server.CreateObject("MSXML2.DOMDocument") Set xsldoc = Server.CreateObject("Msxml2.FreeThreadedDOMDocument.3.0") xmldoc.Load Server.Map Connexion ASP / SQL Server [ par budkiller ] Bonjour,j'ai un problème de connexion à une BD SQL Server qui se trouve sur une autre machine que celle ou je développe.Voici le code Set cn = Server. probleme access denied [ par angenoir999 ] Bonjourvoila j'ai un fichier excel ou j'ai les serveurs (colonne hostname) et les services (colonne  service) que je dois testé (running), je le fait error code 5 access [ par angenoir999 ] Bonjourvoila j'ai un fichier excel ou j'ai les serveurs (colonne hostname) et les services (colonne  service) que je dois testé (running), je le fait probléme sur la recuperation de résultat [ par sosou80 ] bonjour ts le monde ,disant ke c la premiere fois ke je pose une question sur ce forum.voila le msg d'erreur affiché :


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales