Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将MySQL数据库公开为OData_Mysql_Xml_Database_Odata - Fatal编程技术网

如何将MySQL数据库公开为OData

如何将MySQL数据库公开为OData,mysql,xml,database,odata,Mysql,Xml,Database,Odata,我目前有一个mySQL数据库,希望使用OData与之交互 换句话说,我想以这种形式公开数据: 我找到了一些教程,介绍了如果我有Microsoft Visual Studio,如何实现这一点(例如)。但我是一个苹果女孩( 我还查看了odata主页上的库(在库下,然后是mysql),但我无法让它们工作 有没有简单的库可以帮我处理这个问题 非常感谢您的帮助!!我已经学会了如何使用。 我已经在下面记录了我的步骤,以防其他人想做类似的事情 您需要: 从数据库生成JPA模型 使用odata4j的Nort

我目前有一个mySQL数据库,希望使用OData与之交互

换句话说,我想以这种形式公开数据:

我找到了一些教程,介绍了如果我有Microsoft Visual Studio,如何实现这一点(例如)。但我是一个苹果女孩(

我还查看了odata主页上的库(在库下,然后是mysql),但我无法让它们工作

有没有简单的库可以帮我处理这个问题


非常感谢您的帮助!!

我已经学会了如何使用。 我已经在下面记录了我的步骤,以防其他人想做类似的事情

您需要:

  • 从数据库生成JPA模型
  • 使用odata4j的NorthwindJpaProducerExample.java脚本
具体步骤如下:

  • Odata4j是Java中的一个开源Odata生产者/消费者。因此,您需要为EE开发人员设置一个带有数据库的Eclipse
  • 按照说明生成JPA模型
  • 转到Odata4j并下载最新的存档zip
  • 将odata4j-bundle-x.x.jar添加到构建路径(可以在bundles文件中找到)
  • 插入在github上找到的Odata4j中的以下脚本:NorthwindJpaProducerExample、JPAProvider和DatabaseUtils(Required)。(老实说,我只是将它们复制并粘贴到Eclipse中)。此时,您的项目浏览器栏应该是这样的(没有model.main):
  • 此时,右键单击项目并选择构建路径>配置构建路径

    现在,按照以下方式编辑NorthwindJpaProducerExample中的代码:

  • 将字符串“endpointUri”更改为oData所在的url
  • 将字符串“persistenceUnitName”更改为persistence.xml中实体的名称(如上图所示,我的名为“createJPA”。)
  • 然后你就有了小田

    在执行这些步骤时,我遇到了一些问题,如果您也遇到了这些问题,我将在这里记录这些问题

    • 为了成功地执行步骤2(生成JPA),每个表都必须有一个主键
    • 编辑代码后,出现了一个“BigInteger”错误。JPAPProducer不支持BigInteger字段类型。请返回数据库,将列的大小更改为常规int
    • 在以任何方式更改数据库之后,请确保刷新数据库并清理项目。这将使您和Eclipse感到高兴
    • 我不认为这对每个人都是必要的,但我确实需要添加一个HyperSQL驱动程序依赖项。如果出现HSQL错误,请转到并获取最新的稳定版本。将hsqldb.jar添加到构建路径

    这不是非常简单,但比70多页的手册要好得多。

    好吧,OData的手册似乎已经相当简单,通过快速阅读,我认为不可能比这更简单。也许你应该告诉我们你的处境。在阅读OData PHP Producer Library用户指南时,我无法在任何位置(在安装的代码中或在我的XAMPP服务器上)查找QueryProvider.php文件。有NorthwindQueryProvider、WordPressQueryProvider和IDataServiceProvider…如果您指的是第67页,这肯定是一个打字错误。上一段讨论了为IIS配置名为NorthwindQueryProvider.php的文件。因此,我会尝试使用此文件。我认为它们混合在NorthWind和WordPress之间。我将替换所有参考文件“NorthWind”引用了“WordPress”。哦,顺便说一句,我现在意识到4步教程实际上是指一本70页的手册……事实上并不完全相同。啊——这是一个拼写错误。所以我已经这样做了,并努力完成了第3步。但是当我调用(php MySQLConnector.php…)时,我得到了一个“错误:include_once(doctor/DBAL/DriverManager.php):无法打开流:没有这样的文件或目录..!!!“当我知道安装了DoctrineDBAL时出现错误。我不想在完成第3步的所有工作后说这句话,但我认为OData的“4步”过程不会起作用。这只是一个接一个的问题……事实上,我很惊讶OData网站建议使用这个“连接器”。我只是在其中一个页面上发现了这个版权声明:2013年2月19日,微软开放技术公司。如果微软修改了功能,忘记告诉任何人,我也不会感到惊讶!再加上github页面上已经一年多没有任何代码漫画了!我不是一个真正的微软仇恨者,但这是我最喜欢的首先,我不喜欢他们生产的“标准”,只要看一看他们生产的“officeOpen”XML标准,现在积极地不尝试将其输出与之对齐。请注意,ODataContext接口似乎缺少gitHub提供的jar文件(eclipse产生了“无法解析为类型”错误),尽管源代码仍然在那里列出:对于该接口所需的接口,ODataHeaderContext.java也是如此。我还没有确定它们从javadoc和发行版中删除的原因。不幸的是,odata4j似乎不支持表中的复合键。我一路走到了这样一个地步,即选项“IdClass尚未支持”,您可以找到jpa producer jpa Edm Generator:很想知道,您是否找到了比此更好的方法,因为此线程已有3年历史。您是否尝试过使用类似或的OData服务。您可以通过以下网址了解此服务: