我显然正在努力与sqlalchemy建立与paradox数据库的连接,因为方言似乎没有特色...是的,我知道悖论已经过时,但我需要让它工作,因为我的老板经营一个自己的加油站是悖论支持。我得到了它与pypyodbc一起工作,自从我进入VBA几年以来并没有那么大的困难,开始时并没有那么奇怪。使用etl管道切换到python使我的生活变得更加轻松......此时我尝试从多个源中获取数据用于业务报告,在那里我可以仅应用一个模块用于etl目的。希望你们中的一些人能够找到一些关于此事的有用的信息。
答案 0 :(得分:0)
你也许可以做到。访问SQL Server的一种方法是通过PyODBC,因为你有一个用于Paradox的ODBC驱动程序,同样的过程可能会起作用。自从我使用Paradox以来已经过去了十多年,但是IIRC的ODBC驱动程序也是如此。这可能比你想做的更多。
您需要使用新引擎扩展SQLalchemy。这是the details of the PyODBC driver for SQL Server;您需要更改相应的详细信息,而不是"mssql+pyodbc
,而是paradox+pyodbc
。
这是一个类似的StackOverflow question,这是一个很好的起点。
如果您正在通过ODBC字符串,则这是SQL Server的ODBC字符串示例。
params = urllib.quote_plus("DRIVER={SQL Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password")
和an example of a Paradox connection string(显然不完全正确,但它解释了如何调整它):
cnxn = pyodbc.connect(r"Driver={{Microsoft Paradox Driver (*.db )}};Fil=Paradox 5.X;DefaultDir={0};Dbq={0}; CollatingSequence=ASCII;")
我不再有Paradox数据库来测试这个,所以我不能确定它需要做多少工作才能开始。如果你已经有一个有效的ODBC连接,那么你有一半你需要的东西。