Comment exposer une base de données MySQL comme OData
J'ai actuellement une base de données mySQL et souhaitez interagir avec elle à l'aide de OData.
En d'autres termes, je veux exposer les données sous cette forme:
http://services.odata.org/Northwind/Northwind.svc/
J'ai trouvé plusieurs tutoriels sur la façon de le faire (par exemple, http://msdn.microsoft.com/en-us/vs2010trainingcourse_buildingappandservicesusingodatavs2010_topic3.aspx) si j'ai de Microsoft Visual Studio. Mais je suis un mac fille. 🙁
J'ai aussi regardé les bibliothèques à l'odata page d'accueil (sous les bibliothèques, puis mysql). Mais je ne peux pas les faire travailler.
Est là, toute SIMPLE, facile bibliothèque qui peut gérer cela pour moi?
Merci beaucoup pour l'aide!!
Lorsque vous allez à travers le OData PHP Producteur de la Bibliothèque Guide de l'Utilisateur, je suis incapable de trouver le QueryProvider.php fichier de n'importe où (dans le code installé ou sur mon serveur XAMPP). Il est NorthwindQueryProvider, WordPressQueryProvider, et IDataServiceProvider...
Si vous faites référence à la page 67, ce doit être une faute de frappe. Le paragraphe précédent parle de la configuration d'un fichier nommé NorthWindQueryProvider.php pour IIS. Donc, je voudrais je voudrais essayer ce fichier. Je crois qu'ils ont fait d'un mélange entre les Comptoirs et WordPress. Je voudrais remplacer toutes les références à "WordPress" par "les Comptoirs". Oh et en passant, je me rends compte maintenant la 4 étape tutoriel fait référence à un 70-manuel de la page... Pas tout à fait le même en effet.
Ah, que c'est une faute de frappe, fait sens. Donc je l'ai fait et il a lutté à l'étape 3. Mais quand je l'appelle (php MySQLConnector.php...) j'ai un message "Erreur: include_once(Doctrine/DBAL/DriverManager.php): failed to open stream: No such file or directory..!!!" erreur quand je SAIS DoctrineDBAL est installé. Je ne veux pas dire cela, après tout le travail pour arriver à l'étape 3, mais je ne pense pas que OData "4-Étape" du processus est d'aller travailler. C'est juste une question après l'autre.... En fait, je suis assez surpris de la OData site web suggère que cette "connecteur".
J'ai juste trouvé cet avis de droit d'auteur sur l'une des pages: février 19, 2013 Microsoft Open Technologies Inc. Je ne serais pas surpris si MS ont modifié la fonctionnalité, et oublié de le dire à personne ce sujet! Combiné avec le fait qu'il n'existe pas de code comits sur la page github depuis plus d'un an! Je ne suis pas vraiment un MS hater, mais c'est ce que je n'aime pas les "normes" qu'ils produisent, il suffit de jeter un coup d'oeil à la "officeOpen' standard XML, qui ils ont produit, et maintenant activement de ne pas tenter d'aligner leur sortie.
OriginalL'auteur AllieCat | 2013-06-07
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé comment faire, en utilisant odata4j.
J'ai documenté mon étapes ci-dessous au cas où quelqu'un d'autre veut faire quelque chose de similaire.
Vous aurez besoin de:
Étapes détaillées sont ci-dessous:
À ce stade, cliquez-droit sur le projet et sélectionnez Build Path > Configure Build Path. Ajouter la suite "External Jars" à partir de votre Odata4j fichier d'archive.
Maintenant éditer le code dans NorthwindJpaProducerExample dans l'une des manières suivantes:
Et puis vous avez OData!
J'ai couru à quelques problèmes en suivant ces étapes et de les documenter ici au cas où vous en avez aussi.
Pas SUPER facile, mais beaucoup mieux qu'un 70+ manuel de la page.
Le même est vrai pour une interface requise par qui, ODataHeadersContext.java trouvé sur github.com/odata4j/odata4j/blob/master/odata4j-core/src/main/... . . Je n'ai pas encore déterminé pourquoi ils ont été supprimés de la javadoc et de la distribution.
Malheureusement, il semble odata4j ne prend pas en charge les clés composées dans les tableaux. J'ai eu tout le chemin à travers ce au point où l'exception "IdClass pas encore pris en charge", que vous pouvez trouver jpa producteur JPA Edm Générateur: github.com/vorburger/odata4j/blob/master/odata4j-core/src/main/...
Juste curieux de savoir, avez-vous trouver une autre meilleure approche que ce, que ce thread est de 3 ans.
Avez-vous essayez d'utiliser un service OData comme DataDirect Cloud ou Hybride Pipeline de Données .Vous pouvez en apprendre davantage sur ce service: DataDirect OData
OriginalL'auteur AllieCat