问题标签 [mariadb-connector-c]

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 投票
1 回答
23 浏览

python - 尝试使用 python 和 mariadb 创建查询

抱歉,这可能真的很容易,但我是学习代码的新手,我正在尝试返回所有

我要拿回这个

0 投票
1 回答
86 浏览

mysql - MySQL/MariaDB - 使用 C API 性能下降重复调用准备好的语句

我有一个有点复杂的 SQL 命令,它使用了十几个常用的表表达式和需要重复调​​用的窗口函数。因此,我正在尝试使用准备好的语句。它有 10 个输入绑定和 6 个输出绑定。

它涉及几张表,最大的是几 GB,有 1500 万条记录。查询的单次执行需要 50-200 毫秒。

当我将代码构造为:

每次执行查询时,它都会变得越来越慢,而且速度非常快:

它在从 mysql_stmt_execute() 返回时挂起。它不是确定性的。如果我重置查询缓存并重新启动,它可能会在第 5 次或第 8 次查询时挂起。

相比之下,如果我将代码构造为:

也就是说,从字面上看,每次迭代都创建和释放准备好的语句,没有这样的退化,我很快地处理了每次迭代:

但这对我来说没有多大意义,并且否定了使用准备好的语句的主要好处之一。关于可能导致这种情况的任何见解?

感觉有些资源没有被释放,但我尝试添加:

或者

在每次迭代结束时,降级仍然存在。

运行 MariaDB 10.5.10、mariadb-connector 3.1.13。

0 投票
0 回答
51 浏览

python - 如何在 NVIDIA Jetson 上正确安装 MariaDB Connector/C 和 mariadb python 包?

我无法在 NVIDIA Jetson AGX Xavier 上正确安装 MariaDB Connecter/C 和 mariadb python 包并与之合作。显然,这些.so文件最终位于 python 包找不到它的位置。我该如何纠正?这是我目前正在采取的步骤...

  1. 从这里下载并解压源 tarball 。
  2. 构建和安装 MariaDB 连接器/C

这会将库文件安装在/usr/local/lib/mariadb.

  1. 安装python包

然后,当我启动 python 并尝试导入 mariadb 包时,我收到此错误:

如何更改库安装目录(以及路径名?)或将 python 包指向正确的位置?

0 投票
0 回答
45 浏览

mysql - 使用 OpenSSL 1.1.1l 的应用程序无法连接到在 RHEL7 上运行的 MySQL/MSSQL 服务器

我有一个与 OpenSSL 1.0.2k 动态链接的 C++ 应用程序。应用程序有2种风格,一种连接到MSSQL服务器,另一种连接到MySQL(由ini参数决定启动)。

我最近决定将我在应用程序中使用的 OpenSSL 版本升级到 1.1.1l。

当我将 OpenSSL 升级到 1.1.1l 时,当我的应用程序和数据库服务器都在 RHEL7 上运行时,我开始遇到应用程序无法连接到 MSSQL 或 MySQL 服务器的问题。并且当应用程序在 RHEL 和 DBServer 上时

所以,图表看起来像这样

RHEL7 上的应用程序,RHEL7 上的 DBServer - 不工作

RHEL7 上的应用程序,Win 上的 DBServer - 不工作

Win 上的应用程序,RHEL7 上的 DBServer - 工作

Win 上的应用程序,Win 上的 DBServer - 工作

现在,我用谷歌搜索了一下,但没有找到太多。我设法找到的是,这与仅支持 OpenSSL 1.0.2 的 RHEL7 有关,而我在我的应用程序中使用 OpenSSL 1.1.1l。

在我的应用程序中,我使用 MariaDB Connector/C 版本 3.1.8。用于连接 MySQL。为了连接到我在 RHEL 上使用的 MSSQL,我使用 unixODBC 驱动程序 2.3.4 当我在 mariadb 连接器共享库 - libmariadb.so 上执行 ldd 时,它打印出它依赖于 usr/lib64 中的 openssl 1.0

我在尝试连接到 MySQL 时得到的堆栈跟踪(这里我得到了段错误)

连接到 MSSQL 时出现错误

[#0]SQLDriverConnect(): (08001) [Microsoft][ODBC Driver 17 for SQL Server]SSL 提供程序: [error:80001044:lib(128):func(1):internal error:unexpected error]

堆栈跟踪的顶部类似于 MySQL

0 投票
1 回答
39 浏览

r - Databricks 上的 RMariaDB

我正在尝试让 R(通过笔记本或 RStudio)连接到 Databricks Azure 10.1 上的 MariaDB。但是,无论我是在集群的库选项卡中添加 RMariaDB 还是通过 RStudio 中的 install.packages("RMariaDB") 都会失败,因为:

我安装在 databricks 上的 python、R 和 java jar 文件,但不是 C 库。我找到了要下载到笔记本电脑的 ubuntu 库,但 databricks 中的“上传库”功能似乎只需要 jar。

任何人都知道如何让 R 在 Databricks 中与 MariaDB 对话?或者,是否可以在笔记本的 python 单元中进行查询(我有这个工作)并访问 R 单元中的数据?

谢谢

0 投票
0 回答
19 浏览

jdbc - 为什么java的mariadb连接器连接mariadb的速度比其他语言的连接器快?

我正在学习rust,最近在尝试使用Sqlx库连接数据库。无论我是否使用池,连接速度始终至少为 2s;但是,当我使用 Java 连接器(mariadb.com 提供的 mariadb-java-client 包)连接到 mariadb 时不到 1 秒,我不太明白为什么会这样。我之前用过C#的MysqlConnector,连接mariadb至少需要2s。最后,我还尝试了 C Connector、C++ Connector 和 ODBC Connector,它们也比 Java Connector 慢。

kotlin 示例代码(使用 mariadb-java-client 包):

kotlin 代码结果:

Rust 示例代码(使用 sqlx):

Rust 样本结果:

C# 示例代码(使用 MysqlConnector):

C# 示例结果:

另外,请忽略我没有用基准测试库测量经过的时间,因为Java连接器与其他连接器之间的连接时间差异是肉眼可见的。