pyodbc.so是64位而不是32位

时间:2020-04-24 18:37:20

标签: python sql-server kivy pyodbc buildozer

我一直在使用并将一些不同的程序包部署到我的kivy应用程序中,没有任何麻烦,直到那时,如果我的应用程序是32或64,我就不必担心要为其构建并与之相关的Android arch位。

当实现用于Microsoft SQL Server的模块时,情况发生了变化,我使用了pyodbc,因此我遵循了本教程Microsoft ODBC driver for SQL Server tutorial,并获得了该驱动程序的安装:'ODBC Driver 17 for SQL Server”。

后来,我在文档之后添加了FreeTDS驱动程序,并用这些行修改了 odbcinst.ini

[FreeTDS] 
Description = v0.91 with protocol v7.2 
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so

并在 obdc.ini 中创建了一个DSN,以便稍后在代码中调用它:

[dbserverdsn]
Driver = FreeTDS
Server = <Server IP>
Port = 1433
TDS_Version = 7.3
Database = <DB name>

这里是如何建立连接的:

self._db_connection = pyodbc.connect('DSN=dbserverdsn;'
                                     'UID=Arn_Rojas;'
                                     'PWD=password_here')

在我的LinuxLite机器上,两个驱动程序的所有工作都很好,但是当我尝试在android中部署它时,出现此错误:

ImportError: dlopen failed: "/data/data/org.test.myapp/files/app/_python_bundle/site-packages/pyodbc.so" is 64-bit instead of 32-bit

我尝试在buildozer.spec文件中更改此设置:

android.arch = armeabi-v7a
# TO
android.arch = arm64-v8a

但这没用。

我还试图找到一种安装32位pyodbc驱动程序的方法,但对我而言这是不可能的,所以在这里,我欢迎您的建议和意见,告诉我是否需要更多信息。

0 个答案:

没有答案