Javascript 在Wordpress站点上显示MSAccess数据库自定义数据的最佳方式是什么?

Javascript 在Wordpress站点上显示MSAccess数据库自定义数据的最佳方式是什么?,javascript,wordpress,ms-access,internet-explorer,activex,Javascript,Wordpress,Ms Access,Internet Explorer,Activex,我需要来自熟练Wordpress开发人员的建议。我的组织有内部MS Access数据库,其中包含许多表、报告和输入表单。数据库的结构不太复杂(人员信息、事件、第三方信息以及它们之间的不同关系)。我们想在我们的Wordpress网站上展示部分信息,该网站目前只有新闻部分 因为数据库中的信息每天都在更新,所以我们希望在MS Access数据库和Wordpress(MySQL数据库)之间进行简单的同步。现在我试图找到连接MS Access和Wordpress的最佳方法 目前,我只看到以下方法: 发出导

我需要来自熟练Wordpress开发人员的建议。我的组织有内部MS Access数据库,其中包含许多表、报告和输入表单。数据库的结构不太复杂(人员信息、事件、第三方信息以及它们之间的不同关系)。我们想在我们的Wordpress网站上展示部分信息,该网站目前只有新闻部分

因为数据库中的信息每天都在更新,所以我们希望在MS Access数据库和Wordpress(MySQL数据库)之间进行简单的同步。现在我试图找到连接MS Access和Wordpress的最佳方法

目前,我只看到以下方法:

  • 发出导出请求并保存为XML文件
  • 导入Wordpress的MySQL数据库
  • 使用自定义字段功能在Wordpress网站上显示内容(或开发自己的插件)
  • -或-

  • 在与Wordpress站点相同的域上,在一些非常轻量级的PHP引擎(例如CodeIgniter)上构建自己的信息系统,该系统将实际显示导入的内容 这些变体需要每天在DB之间手动传输信息。我不知道Wordpress能否显示数据库中的自定义数据。你能建议我在我的情况下你喜欢用什么方法吗

    p.S.使用的MS访问权限为ver 2007+(file.accdb)。字段、数据库和内容的名称使用俄语。未来我们计划增加两种新语言(英语、乌克兰语)。MS access数据库还包含个人照片

    ---更新信息---

    我能够使用以下技术进行半自动导入/导出操作:

    • Javascript库ACCESSdb(针对新的DB格式进行了少量修改)
    • Internet Explorer 11(用于运行ADODB ActiveX)
    • 用于从MSAccess表中提取附加文件的小型VBS脚本
    • 最新jQuery
    • 自定义数据的Wordpress插件(高级自定义字段、自定义帖子类型UI)
    • Wordpress Rest API已启用(带有插件JSON基本身份验证、ACF到Rest API)
    首先,我在Wordpress站点使用自定义帖子和自定义字段技术构建了数据方案。然后我在本地运行JS查询到MSAccess数据库,接收到我通过jQuery发送到WP restapi端点的信息。只需单击一次即可完成整个传输操作。
    但由于安全限制,我无法通过JS自动上传文件。每个文件只需单击一次即可完成此操作。

    您的问题太广泛了。 它由两部分组成:1。从Access和2导出。导入到Wordpress。因为我不熟悉Wordpress,所以我只能给你一个建议。至少谷歌展示了一些可以从CSV导入的插件,如下所示:

    您可以创建一个运行Access的计划任务,该Access运行运行VBA函数的宏,如下所述:

    在该VBA函数中,您可以使用ADODB.Stream对象创建一个包含数据的UTF-8 CSV文件,并将其上载到站点的FTP

    我个人使用python脚本来做类似的事情。我更喜欢这种方式,因为它更具前瞻性和可靠性。这是我的密码。请注意,我有两个FTP服务器:其中一个仅用于测试

    #-*-编码:utf-8-*-
    # 2018-10-31
    # 2018-11-28
    导入操作系统
    导入csv
    从时间上导入睡眠
    从ftplib导入FTP\u TLS
    从日期时间导入日期时间作为dt
    导入msaccess
    FTP_REAL={'FTP_SERVER':r'your.site.com',
    “FTP_用户”:r“用户名”,
    'FTP_PW':r'Pa$$word'
    }
    FTP_-WIP={'FTP_-SERVER':r'192.168.0.1',
    “FTP_用户”:r“just_test”,
    “FTP_PW”:r“just_test”
    }
    def ftp_上传(完整路径:str,ftp_文件夹:str,real:bool):
    ''将文件上载到FTP''
    尝试:
    如果是真实的:
    ftp\u set=ftp\u REAL
    其他:
    ftp_集=ftp_在制品
    使用FTP_TLS(FTP_设置['FTP_服务器]])作为FTP:
    login(user=ftp\u set['ftp\u user'],passwd=ftp\u set['ftp\u PW'])
    ftp.prot_p()
    #被动模式关闭,否则会出现问题
    #与另一个上传尝试
    #我的网站不允许活动模式:(
    ftp.set_pasv(ftp_set['ftp_SERVER'].find('selcdn')>0)
    cwd(ftp_文件夹)
    i=0
    而我<3:
    睡眠(i*5)
    i+=1
    尝试:
    将open(完整路径,'br')作为f:
    ftp.storbinary(cmd='STOR'+os.path.basename(fullpath),
    fp=f)
    除O错误为e外:
    如果e.errno!=0:
    打印(f'ftp.storbinary错误:\n\t{repr(e)}')
    例外情况除外,如e:
    打印(f'ftp.storbinary异常:\n\t{repr(e)}')
    filename=os.path.basename(完整路径)
    #检查上载的文件大小是否与本地文件匹配:
    #IDK why,但单个ftp.size命令有时不返回任何值,
    #首先运行以下命令:
    ftp.size(文件名)
    #输入(f'覆盖它:{filename}')
    ftp_size=ftp.size(os.path.basename(fullpath))
    #导入pdb;pdb.set_trace()
    如果ftp_size!=无:
    如果ftp_size==os.stat(完整路径).st_size:
    打印(f'File\'{filename}\'已成功上载')
    打破
    其他:
    打印('传输失败')
    #输入('按enter键再试一次…')
    除O错误为e外:
    如果e.errno!=0:
    返回False,报告(e)
    例外情况除外,如e:
    返回False,报告(e)
    返回True,无
    def make_文件(内容:str):
    ''在临时目录中创建CSV文件并返回True和fullpath''
    fullpath=os.environ['tmp']+f'\{dt.now():%Y%m%d%H%m}.csv'
    尝试:
    以开(符)