Member 10396532 Ответов: 0

Ошибка слишком длинная строка 'использование MySQL в MySQL соединитель/c++ 8.0.15(xdev на C++ с API) для Windows


  I installed Visual Studio 2017 linked to mysql-connector-c++-8.0.15-winx64. I created a Windows Console application with the exact source code from 
   <a href="http://dev.mysql.com/doc/dev/connector-cpp/devapi_ref.html">http://dev.mysql.com/doc/dev/connector-cpp/devapi_ref.html</a>
   I'm using MySQL Connector/C++ 8.0.15 to connect MySQL Database ,When I run the example in Visual Studio 2017,it failed with an error "string too long".
<pre>
<pre>
   The C++ code is just as below:

void test_XdevCPlus_demo()
{
    std::string usr = "root";
    std::string pwd = "1030";
    // Connect to MySQL Server on a network machine
    try
    {
        Session mySession(
            SessionOption::USER, usr,
            SessionOption::PWD, pwd,
            SessionOption::HOST, "localhost",
            SessionOption::PORT, 33060,
            SessionOption::DB, "test",
            SessionOption::SSL_MODE, SSLMode::DISABLED
        );

        Schema myDb = mySession.getSchema("test");
    }
    catch (mysqlx::Error::exception& e)
    {
        std::cout << e.what() << std::endl;
    }
}


Что я уже пробовал:

Когда я запускаю пример, я получаю сеанс создания на localhost, порт 33060 ... Исключение STD: string too long исключение происходит в Impl::from_utf8(*this, utf8), где utf8="root". // TODO: сделайте явные преобразования utf8
string(const char *other)
{
    if (!other)
      return;
      std::string utf8(other);
      Impl::from_utf8(*this, utf8);
}
catch (std::exception &ex)
{
   cout << "STD EXCEPTION: " << ex.what() << endl;
   return 1;
}

Would you please help?

Michael Haephrati

Вы проверили рекомендации для строк подключения? https://www.connectionstrings.com/mysql/

Michael Haephrati

Попробуйте это решение из : https://stackoverflow.com/questions/13890021/mysql-workbench-error-opening-eer
Просто закройте и снова откройте приложение.

0 Ответов