我计划出价的项目的主要目标是使用python创建Microsoft Access数据库。主DB后端将是postgres,但计划是导出Access图像。
这将是一个Web应用程序,它将从用户获取输入并通过黑盒子并将结果输出为访问数据库。 Web应用程序将构建在Linux服务器上。
我有一些相关的问题:
谢谢:)
答案 0 :(得分:4)
您可以使用sqlite数据库吗?
修改强>
如果它是在Linux上并且它是MS Access,那么我很确定this is your only choice,但它的成本是1,550美元。
您要么必须支付这笔钱,要么说服客户改变其他两个参数中的一个。就个人而言,我会推动将数据库文件更改为sqlite。
当然,您总是可以编写自己的数据库驱动程序代码,但可能值得花时间来支付1,550美元。 mdbtools多年来一直致力于这项工作,该项目已被废弃。
找到它,有点
好的,所以我不能放过这个,发现有一个名为Jackcess的java库将写入可以运行jvm的任何平台上的MS Access mdb文件。当然,它是java而不是python,但也许你可以学习足够的java来将应用程序放在一起并从python中执行它?或者只是将整个应用程序切换到java,无论如何。
答案 1 :(得分:2)
重复问题的各种答案表明,无法在Linux服务器上创建MS Access数据库的“主要目标”。
当然,这样的目标本身并不值得。如果您告诉我们Access数据库的用户/消费者希望做,我们可以帮助您。可能性:(1)创建一个脚本和一组(一组)文件,用户下载并运行以创建Access DB(2),如果它只是用于临时用户检查/操作,Excel文件可能会这样做。
答案 2 :(得分:2)
如果你对此非常清楚:
然后你应该知道如何做到这一点:
如果是这样,那么您非常接近您所需的解决方案。诀窍是,您可以将MDB文件作为ODBC数据源打开。现在:我不确定你是否可以在MDB文件中使用ODBC“创建表格”,所以让我提出这个方法:
这会对你有用吗?
在Windows上完成这一切几乎肯定会更容易,因为对ODBC的支持将最为广泛。但是,我认为原则上您可以在Linux上执行此操作,前提是您找到了通过ODBC访问MDB的正确ODBC组件。
答案 3 :(得分:1)
您可以使用MS的officedata名称空间导出到XML。访问不应该有任何麻烦。您可以直接在文档树中提供单独的xsd架构,或编码类型和关系。这是一个简单的例子:
<?xml version="1.0" encoding="UTF-8"?>
<dataroot xmlns="urn:schemas-microsoft-com:officedata">
<Table1><Foo>0.00</Foo><Bar>2011-05-11T00:00:00.000</Bar></Table1>
<Table1><Foo>3.00</Foo><Bar>2011-05-07T00:00:00.000</Bar></Table1>
<Table2><Baz>Hello</Baz><Quux>Kitty</Quux></Table2>
</dataroot>
谷歌搜索“urn:schemas-microsoft-com:officedata”应该会有一些有用的点击。
答案 4 :(得分:0)
我建议将moving数据导入Microsoft SQL数据库,然后linking or importing要访问的数据。
答案 5 :(得分:0)
您是否可以创建自解压文件以发送给安装了Microsoft Access的Windows用户?
这对用户来说是一个额外的步骤,但您可以依赖他们现有的驱动程序,软件和桌面。
答案 6 :(得分:0)
好吧,在我看来,你需要在运行windows的linux盒子上使用vmware服务器的副本,在vm中写入访问的web服务,以及从主linux盒子到它的通信。您不会在Linux上找到创建访问数据库的方法。将其作为一项要求并不会使技术成为可能。
答案 7 :(得分:0)
http://adodb.sourceforge.net/ - 在linux上安装,用php或python编写,连接到Access和PostgreSQL。
我们已经使用它多年了,而且效果很好。