问题标签 [turbodbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
231 浏览

python - Databricks 上的 turbodbc - 此 turbodbc 安装不支持 Apache Arrow 扩展。请安装`pyarrow`包

我正在尝试在 Databricks - 运行时 7.2 上使用 turbodbc 和 Pyarrow 支持。Turbodbc 在没有 pyarrow 支持的情况下可以在同一个实例上很好地工作。从Databricks 7.2 发布页面上,它说 Pyarrow 已经是我已经验证为真实的。它带有 0.15.1。

但是,当我尝试使用 pyarrow 运行 turbodbc 时,我抛出了以下错误。

此 turbodbc 安装不支持 Apache Arrow 扩展。请安装pyarrow软件包。如果您从源代码构建了 turbodbc,您可能还需要重新安装 turbodbc 以编译扩展。

数据块基于 Ubuntu 18.04。我已确保安装了 init 脚本

我还尝试在库列表中再次指定 pyarrow,以便通过 pip 安装它,但没有运气。

任何帮助是极大的赞赏。

更新1:

尝试创建一个使用 conda 进行 python 包安装的 ML 集群。我仍然遇到同样的错误。

0 投票
1 回答
123 浏览

python - 通过 turbodc 将 dask 数据帧写入 mssql 时出错

我有一个 dask 数据框,它有 220 个分区和 7 列。我已经从 bcp 文件中导入了这个文件,并在 dask 中完成了一些争论。然后我想使用 turboodbc 将整个文件写入 mssql。我按如下方式连接到数据库:

然后我使用从一篇中型文章中找到的函数写入数据库中的测试表:

def turbo_write(mydb, df, table): """使用 turbodbc 将数据插入 sql。""" start = time.time() # 准备列 columns = '(' columns += ', '.join(df.列)列+=')'

这在我上传少量行时有效,如下所示:

当我尝试执行更多行时,它失败了:

我得到错误:

RuntimeError:无法将 Python 实例转换为 C++ 类型(在调试模式下编译以了解详细信息)

我如何将整个 dask 数据帧写入 mssql 而不会出现任何错误?

0 投票
1 回答
295 浏览

python - ModuleNotFoundError:运行 docker 映像时没有名为“turbodbc”的模块

我在我的代码中使用 Cloudera Hive ODBC 驱动程序,并且我正在尝试将应用程序容器化。下面是我的 Dockerfile,

构建映像正在成功,但是当我运行 docker 映像时,我看到以下错误

我在我的内部尝试了许多其他 ODBC Dockerfile,但没有运气。任何帮助都会很棒。

0 投票
0 回答
56 浏览

python - Turbodbc - 从多语句查询中获取输出

我正在努力访问存储过程的结果,为我提供刚刚使用 Turbodbc 4.1.2、Python 3.7 和 SQL Server 2017 插入的行的标识。

我的程序按照以下几行运行:

我的 Turbodbc 代码如下所示:

在没有任何插入的情况下运行存储过程(即,仅“SELECT 4”),结果集返回正常。但是,当使用正确运行的插入运行时,我收到错误“turbodbc.exceptions.InterfaceError: No active result set”。该查询在 SSMS 中运行良好。

我猜这是因为我收到了两个结果集——一个用于插入,一个用于选择。我从关于 SO 的几个问题中看到 nextset 函数在pymssqlpyodbc中可用,但相同的功能在turbodbc中不可用。

如何使用 turbodbc 访问多语句查询的第二部分?这似乎是一个相对简单的问题,但我已经把头撞在墙上几个小时了。

0 投票
0 回答
28 浏览

python - turbodbc 错误“选项类型超出范围”

我正在尝试使用 turbodbc 从 CDK Kerridge DMS 中提取数据。这在 pyodbc 中运行良好。

我收到此错误:

回溯(最后一次调用):文件“C:\Users\Something.conda\envs\Conda36\lib\site-packages\turbodbc\exceptions.py”,第 41 行,在包装器中返回 f(*args, **kwds ) 文件“C:\Users\Something.conda\envs\Conda36\lib\site-packages\turbodbc\cursor.py”,第 131 行,执行 self.impl.prepare(sql) turbodbc_intern.Error: ODBC 错误状态: HY092 本机错误代码:0 消息:[Microsoft][ODBC Driver Manager] 选项类型超出范围

在处理上述异常的过程中,又出现了一个异常:

[Microsoft][ODBC Driver Manager] Option type out of range 按任意键继续。. .

0 投票
0 回答
39 浏览

python - 我想使用 turbodbc 进行 mysql-python 连接。你能帮我设置一下吗

我参考了此文档进行设置: https ://turbodbc.readthedocs.io/en/latest/pages/getting_started.html

由于我pip install turbodbc给出了错误。我开始下载其中提到的先决条件。但在第 5 步(因此第 6 步)遇到错误

  1. 运行.\bootstrap.bat(这会生成 b2 可执行文件)。
  2. 运行.\b2(这会生成阶段目录和内容,需要几分钟才能运行)。

我出错了:.bootstrap.bat: command not found

我的增强版是boost_1_76_0.

在此先感谢您的帮助

0 投票
0 回答
103 浏览

c++ - 尝试在 windows python3.7 上安装 turbodbc - 错误

试图让 turbodbc 在 Windows 上工作。

我尝试按照以下步骤(下方),但仍然收到错误消息。有人可以帮帮我吗!

如错误所述,首先您需要“Microsoft Visual C++ Build Tools”。您将在此页面上获得它:https ://visualstudio.microsoft.com/downloads/ 。向下滚动到“为 Visual Studio 构建工具”。下载它。

运行安装程序。选择“C++ 构建工具”进行安装。确保同时选择“Windows 10(或您喜欢的任何版本)SDK”以防止以后出现此错误 - https://github.com/openssl/openssl/issues/586

安装构建工具后,如果您尝试安装 Turbodbc (pip install turbodbc),您将看到另一个错误 - python 致命错误 C1083:无法打开包含文件:'boost/locale.hpp'。也就是说,这场战斗已经成功了一半。要解决此错误,请按照此处列出的步骤 - https://github.com/blue-yonder/turbodbc/issues/236。为了您的方便,我将它们复制到下面-

从https://www.boost.org/下载 boost (单击“当前版本”版本链接,在我的情况下为“版本 1.72.0”,然后下载 Windows zip 文件)。

在您的 PC 上的某个位置解压缩 zip 文件。

在命令提示符下,导航到 boost 顶级目录。

运行 .\bootstrap.bat(这会生成 b2 可执行文件)

运行 .\b2 (这会生成阶段目录和内容,需要几分钟才能运行)

设置 BOOST_ROOT 环境变量,例如 set BOOST_ROOT=C:\your\path\to\boost\boost_1_72_0\boost_1_72_0

运行 pip install turbodbc

日志: