[英]MariaDB connector c ++ memory protection violation
I am having a problem connecting to the database using MariaDB.我在使用 MariaDB 连接到数据库时遇到问题。 When I try to do anything with conn, it prints a memory violation.
当我尝试对 conn 做任何事情时,它会打印出 memory 违规。 I use Linux Mint 20.1!!
我使用 Linux Mint 20.1!!
#include <iostream>
#include <memory>
#include <mariadb/conncpp.hpp>
int main(int argc, char**argv)
{
sql::Driver* driver = sql::mariadb::get_driver_instance();
sql::SQLString url("///");
sql::SQLString base("///");
std::cout << driver->getName() << std::endl;
sql::Properties properties({
{"base", "base"},
{"password", "password"}
});
sql::Connection*conn = driver->connect(url,properties);
conn->setSchema(base);// here
}
Does anyone know what the problem is?有谁知道问题是什么? Thank you in advance for your help.
预先感谢您的帮助。
driver->connect may return nullptr. driver->connect 可能返回 nullptr。 I guess that is happening.
我想这正在发生。 You don't check conn.
你不检查conn。 There is also DriverManager::getConnection, that unlike Driver::connect will throw an exception in such case.
还有 DriverManager::getConnection,与 Driver::connect 不同,在这种情况下会抛出异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.