文件首頁
MySQL NDB Cluster API 開發人員指南
相關文件 下載本手冊
PDF (美式 Letter) - 3.6Mb
PDF (A4) - 3.6Mb


MySQL NDB Cluster API 開發人員指南  /  ...  /  NDB API 基本連線範例

2.5.1.1 NDB API 基本連線範例

此範例也可以在 storage/ndb/ndbapi-examples/ndbapi_basic/ndbapi_basic_connect.cpp 中找到,它示範如何使用 Ndb_cluster_connection 以使用指定的連線字串連線至 NDB 管理伺服器。成功時,它會取得並列印出一些關於叢集的資訊。如果無法連線至管理節點或資料節點,它會列印出適當的錯誤並結束。

#include <iostream>
#include <cstdlib>

#include <NdbApi.hpp>

namespace
{
  inline void test_connection(const Ndb_cluster_connection &connection)
  {
    std::cout << "Connected to: " << connection.get_system_name()
              << ",\n\ton port: " << connection.get_connected_port()
              << ",\n\tactive NDBDs: " << connection.get_active_ndb_objects()
              << std::endl;
  }
}

int main(int argc, char **argv)
{
  if (argc != 2)
  {
    std::cout << "Usage: ndb_ndbapi_basic_connect <connectstring>"
              << std::endl;
    return EXIT_FAILURE;
  }

  const char *connectstring = argv[1];

  ndb_init();
  {
    Ndb_cluster_connection connection(connectstring);
    if (connection.connect() != 0)
    {
      std::cout << "Cannot connect to cluster management server" << std::endl;
      return EXIT_FAILURE;
    }

    if (connection.wait_until_ready(30, 0) != 0)
    {
      std::cout << "Cluster was not ready within 30 secs" << std::endl;
      return EXIT_FAILURE;
    }

    // Let's verify connection
    test_connection(connection);
  }
  ndb_end(0);

  return EXIT_SUCCESS;
}