将Microsoft Access连接到phppgadmin以在PostgreSQL中查询

时间:2018-10-26 16:20:13

标签: sql excel postgresql ms-access phppgadmin

我的目标是将数据导入Microsoft Access以创建一个数据库,我可以从excel仪表板中引用该数据库进行分析。

我找不到有关如何连接访问权限以允许我在phpPgAdmin上查询数据库的任何信息。

高度赞赏任何建议,方向或解决方案。

请让我知道是否需要更多详细信息。

1 个答案:

答案 0 :(得分:2)

MS Access是multifaceted thing,因为许多人倾向于混淆和混淆其前端GUI .exe应用程序和独特的后端数据库(JET / ACE SQL引擎,它们是Windows .dll文件)。大多数情况下,我们指的是其MS Office应用程序。从技术上讲,MS Access与phppgadmin实际上是同一类型的产品:数据库的GUI控制台,仅其默认数据库是上述引擎,但也可以集成其他ODBC / OLEDB连接的后端,包括Postgres,Oracle,MySQL,SQL Server,等等

通过各种方法,您可以将MS Access作为PostgreSQL和Excel之间的介质进行集成,而无需任何数据迁移(导出/导入)。

  1. Linked Tables-使用其ODBC Driver直接连接到Postgres表。

    Linked Tables icon

  2. Pass-through queries-在MS Access中使用Postgres方言创建保存的查询。

    Pass-Through Queries

  3. ADO Connections(请参见以编程方式和使用函数的方式导入数据)-绕过MS Access,并使用OLEDB提供程序或ODBC驱动程序使Excel直接连接到Postgres。下面是显示两个连接字符串示例的编程版本,但是您可以通过Excel功能区UI保存连接对象。

    Dim strConnection
    ' REFERENCE Microsoft ActiveX Data Objects, #.# Library
    Dim conn As ADODB.Connection, rst As ADODB.Recordset
    
    ' ODBC AND OLEDB CONNECTIONS (SELECT ONE)
    strConnection = "Driver={PostgreSQL};Server=IPaddress;Port=5432;" _  
                     & "Database=myDataBase;Uid=myUsername;Pwd=myPassword;"
    
    strConnection = "Provider=PostgreSQL OLE DB Provider;Data Source=myServerAddress;" _
                     & "location=myDataBase;User ID=myUsername;password=myPassword;"
    
    conn.Open strConnection
    rst.Open "SELECT * FROM myPGTable", conn
    

    顺便说一句,上面是要在Excel宏中运行的VBA版本,但是ADO是COM对象,因此可以集成到COM接口语言中,包括PHP,Python,R,Java等。