|  | 
| connection bd avec MAGIC 3.5 | |
| JJV | 19-Oct-2006/17:26:09+2:00 | 
| bonsoir je craque, depuis 3 jours...help me config serveur de societeg.com => apache magic mysql je souhaite récuperer des donnees dans ma base. 1/voici la page .rhtml 
 	<html>
        <head>
	<title>Utilisation d'une source de données</title></head>
        <body>
	<rebol>
		
                library/private %db.r
                        conn: db/datasource/private %valnet.rds
                        datagrid conn/doSQL "select * from nom"
                        conn/close
        </rebol>
	</body>
	</html>
2/ voici le code erreur 
make object! [
    code: 505
    type: 'access
    id: 'invalid-spec
    arg1: mysql://valnet_1:motdepasse@mysql.societeg.com/valnet
    arg2: none
    arg3: none
    near: [ret/connection-port: open to-url dburl 
        ret/command-port:
    ]
    where: 'datasource
]
A/ voici le code db.r
[code]
REBOL [
	subject: "Librairie de connexion à une base de données"
	version: 1.1 
	author: "Olivier Auverlot"
]
db: make object! [
	datasource: func [ filename [ file! ] "Fichier décrivant la source de données" 
		/private "La source de données est définie dans le répertoire courant" 
		/local obj lpath merr dburl ident ret
	] [
		ret: make object! [
	                connection-port: none
	                command-port: none
			doSQL: func [ request ] [
				insert command-port request
				return copy command-port
			]
			close: does [
				system/words/close command-port
				system/words/close connection-port
			]
		]
	        either not private [ lpath: join m-datasources-path filename ] [ lpath: join curdir filename 
                
                ]
		if error? merr: try [
			obj: context load lpath
			either not none? obj/user [ 
				ident: copy join  obj/user [ ":" obj/password "@" ] 
			] [ ident: copy "" ]
			dburl: copy join obj/dbtype [ "://" ident ]
			if not none? obj/host [
				dburl: copy join dburl [ obj/host "/" ]
			]
			dburl: copy join dburl obj/database 
			ret/connection-port: open  to-url dburl
			ret/command-port: first ret/connection-port
			return ret
		] [
			m-error (mold disarm merr)
			return false 
		]
	]
]
B/ voici le code de valnet.rds 
rebol[]
[
        dbtype: "mysql"
        host: "mysql.societeg.com"
        user: "valnet_1"
        password: "motdepasse"
        database: "valnet"
]
merci pour votre aide Jean-jacques | |
| coccinelle | 20-Oct-2006/8:50:46+2:00 | 
| Hello Jean-Jacques, A mon avis, d'une manière ou d'une autre le protocole mysql n'est pas chargé dans ton application. J'ai une question à mon tour, où peut-on télécharger magic 3.5 ? Merci, Marco. | |
| JJV | 20-Oct-2006/10:20:55+2:00 | 
| Bonjour Marco, Sur ce fil Francois et Olivier évoquaient un problème similaire http://www.codeur.org/forum/message.php?ID_Sujet=3044&page=2 Magic Sur le site perso d'Olivier Auverlot http://perso.numericable.fr/~oauverlo/ le lien download de Magic 35e http://perso.numericable.fr/~oauverlo/C591593862/E20050812232525/Media/File1.zip jean-jacques | |
| coccinelle | 20-Oct-2006/15:03:45+2:00 | 
| Merci pour les liens. Pour ton problème, il te faut utiliser le protocol de Nenad, c'est ici http://softinnov.org/rebol/mysql.shtml Ensuite, tu places le fichier mysql-protocol.r avec le fichier db.r et tu adapte ta page ainsi : 
<html>
    <head>
	<title>Utilisation d'une source de données</title></head>
        <body>
	<rebol>
                library/private %db.r
                library/private %mysql-protocol.r
                conn: db/datasource/private %valnet.rds
                datagrid conn/doSQL "select * from nom"
                        conn/close
        </rebol>
    </body>
</html>
J'espère que ça peut résoudre ton problème. Marco. | |
| JJV | 20-Oct-2006/23:36:47+2:00 | 
| merci Marco pour la piste mysql-protocol.r après de nombreuses manipssssssss voici le code qui fonctionne 1/page .rhtml 
<html>
    <head>
	<title>Utilisation d'une source de données</title></head>
        <body>
	<rebol>
		
		
                library/private %db.r
                library/private %mysql-protocol.r
    db: open mysql://valnet_1:motdepasse@localhost/valnet                
    insert db "SELECT * FROM tutoriel" 
    print copy db                                       
    close db   
		
        </rebol>
    </body>
</html>
merci encore Jean-jacques | |
| coccinelle | 21-Oct-2006/9:11:07+2:00 | 
| Hello Jean-Jacques, Content que quelque chose fonctionne. J'imagine que si tu n'est pas arrivé à faire fonctionner le composant datagrid, c'est que le fichier html.r n'était pas chargé comme c'était déjà pas le cas pour sql-protocol.r De plus, datagrid est une fonction de l'objet html, donc elle doit être appellée ainsi : html/datagrig ... J'aurais tendance à faire les choses comme ça : 
<html>
    <rebol>
; Initialisation de toutes les librairies et connexion et tout ce qui pourrait l'être si nécessaire
        library/private %html.r
        library/private %db.r
        library/private %mysql-protocol.r
        conn: db/datasource/private %valnet.rds
    </rebol>
    <head>
	<title>Utilisation d'une source de données</title>
    </head>
    <body>
        <rebol>
            html/datagrid/sql [conn "SELECT * FROM tutoriel"]
        </rebol>
    </body>
    <rebol>
; Ferme la connection et nettoie tout ce qui doit l'être si nécessaire.
        conn/close
    </rebol>
</html>
En organisant tes pages ainsi, ce sera plus facile de t'y retrouver. Marco. | |
| coccinelle | 21-Oct-2006/9:30:23+2:00 | 
| L'erreur est humaine. En relisant la doc, je te suggère d'essayer plutôt ça : 
<html>
    <rebol>
; Initialisation de toutes les librairies et connexion et tout ce qui pourrait l'être si nécessaire
        library/private %html.r
        library/private %db.r
        library/private %mysql-protocol.r
        conn: db/datasource/private %valnet.rds
    </rebol>
    <head>
	<title>Utilisation d'une source de données</title>
    </head>
    <body>
        <rebol>
            html/datagrid conn/doSQL "SELECT * FROM tutoriel"]
        </rebol>
    </body>
    <rebol>
; Ferme la connection et nettoie tout ce qui doit l'être si nécessaire.
        conn/close
    </rebol>
</html>
Marco. | |
| JJV | 21-Oct-2006/17:05:31+2:00 | 
| Bonjour Marco j'ai donc fait des essais avec le code de la doc Magic 3.5 mais rien ne fonctionne par contre avec celui-ci ok effectivement la fonction html est très intéressante. page .rhtml 
<html>
    <head>
	<title>Utilisation d'une source de données</title></head>
        <body>
	<rebol>
		library/private %html.r
                library/private %db.r
                library/private %mysql-protocol.r
    		db: open mysql://valnet_1:motdepasse@localhost/valnet       
  
    		insert db "SELECT * FROM tutoriel" 
    		print html/datagrid/noborder copy db    
	                                  
    		close db   
		
        </rebol>
    </body>
</html>
voici ma page de résultat ok mais j'ai un noneen fin de page qui est gênant 1 Napoléon Bonaparte napo@corse.fr 2 Arc Jeanne bergere@domremy.fr 3 Empereur Marc-Aurèle empereur@rome.it 4 Cretinus Alpinus idiot@village.org 5 hhCretinus hhAlpinus hhidiot@village.org 6 Napoléon Bonaparte napo@corse.fr 7 Arc Jeanne bergere@domremy.fr 8 Empereur Marc-Aurèle empereur@rome.it 9 Cretinus Alpinus idiot@village.org 10 hhCretinus hhAlpinus hhidiot@village.org 11 Napoléon Bonaparte napo@corse.fr 12 Arc Jeanne bergere@domremy.fr 13 Empereur Marc-Aurèle empereur@rome.it 14 Cretinus Alpinus idiot@village.org 15 hhCretinus hhAlpinus hhidiot@village.org [code] none [/code] Comment faire pour le faire disparaitre? merci et bon week end à tous Jean-jacques | |
| coccinelle | 21-Oct-2006/20:49:25+2:00 | 
| Enlève le print devangt le html/datatgrid ... | |
| JJV | 21-Oct-2006/21:57:30+2:00 | 
| YES évidement Marco Jean-jacques | |
| Login required to Post. | |