如何使用连接到db2db…的代码。。。。
//解析VCAP_SERVICES环境变量
$vcap_services = $_ENV["VCAP_SERVICES"];
$services_json = json_decode($vcap_services,true);
$sqldb = $services_json["sqldb"];
if (empty($sqldb)) {
echo "No sqldb service instance is bound. Please bind a sqldb service instance";
return;
}
//Get Credentials object (db,host,port,username,password)
$sqldb_config = $services_json["sqldb"][0]["credentials"];
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=".
$sqldb_config["db"].
";HOSTNAME=".
$sqldb_config["host"].
";PORT=".
$sqldb_config["port"].
";PROTOCOL=TCPIP;UID=".
$sqldb_config["username"].
";PWD=".
$sqldb_config["password"].
";";
$conn = db2_connect($conn_string, '', ''); //db connection
要连接到1 db以上。。。当然不是在同一时间。
或者。。。如果可能的话。。。我可以有多个模式吗?
基本上。。。我会把客户数据放在那里。。。每个客户端都将拥有相同名称的相同表。。。和类似的数据结构。所以我需要把它们分开。。。在不同的数据库或不同的模式中。但是我得到的代码会自动连接到我的db2实例。。。我如何告诉代码要连接到哪个实例…如果我有更多。。。
假设您的应用程序绑定了许多SQL数据库服务实例。现在,如果你运行:
$services_json["sqldb"]
它将为每个SQL DB实例返回一个包含一个元素的数组。要指向一个特定的实例,您可以执行以下操作:
$sqldb_config = $services_json["sqldb”][i]
其中i是所需服务的索引。我建议您在Bluemix上的应用程序面板中查看VCAP_SERVICES环境变量的值。在那里,您将看到绑定到应用程序的所有SQLDB服务实例的列表。