gpt4 book ai didi

sql - 如何将 accdb 转换为 postgres 数据库

转载 作者:行者123 更新时间:2023-11-29 11:32:29 24 4
gpt4 key购买 nike

我需要使用 .accdb 数据库,为此需要将其导入 PostgreSQL。我相信这将是一个简单明了的问题(我预计它已经解决了),但一个简单的解决方案让我逃脱了。

我要补充一点,我无权 Access Access(笑),我的解决方案松散地依赖于它。如果那不可能,我可以去找有 Access 权限的人,让他们将每个表转换为 .csv 或类似的格式。

最佳答案

您不需要在计算机上安装 MS Access 即可从 Access 数据库引擎文件中读取数据。

自 windows 2000 以来的所有 windows 副本都附带了 Access 数据库引擎;然而,这将是 Jet 4.0 引擎,您将需要 ACE (2007) 引擎的组件。令人高兴的是,它可以从 Microsoft 下载为 2007 Office System Driver: Data Connectivity Components .

任何支持 com 对象的编程语言都可以让您在没有安装 MS Access 的情况下提取数据。您甚至可以在此处使用 Windows 脚本,甚至无需在您的 Windows 机器上安装任何软件。

以下代码适用于 Access 数据库引擎的 Jet mdb 版本,但您可以使用 ACEDAO 对其进行调整以满足您的需要:

  Set dbEng = CreateObject("DAO.DBEngine.36")
strMdbFile = "C:\Documents and Settings\" & _
"Albert\My Documents\Access\" & _
"ScriptExample\MultiSelect.mdb"
Set db = dbEng.OpenDatabase(strMdbFile)
strQuery = "select * from contacts"
Set rs = db.OpenRecordset(strQuery)
rs.MoveFirst
If rs.EOF = True Then
Quit
End If

strTextOut = "C:\t5.txt"
Set fs = Wscript.CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strTextOut, 2, True)
'2 = write, 1 = read

Do While rs.EOF = False
strOutText = rs("LastName")
ts.Writeline strOutText
rs.MoveNext
Loop
ts.Close
rs.Close

但是,实际上,如果这是一次性导出,那么找一个拥有 MS Access 副本的人将减少这项工作,但您可以读取 Access 文件而无需安装任何软件。事实上,如上所述,即使是全新安装的 windows 也允许您使用上述 windows 脚本文件,该文件也可以在 windows 机器上没有安装任何软件的情况下运行。

关于sql - 如何将 accdb 转换为 postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1440648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com