Два вызова odbc_connect с использованием одинаковых учетных данных - PullRequest
0 голосов
/ 28 октября 2011

Что происходит, когда два вызова odbc_connect совершаются с использованием одинаковых учетных данных?

Если быть более конкретным с моим вопросом,

  • Будут ли активны два соединения, илибудут ли оба ресурса ссылками на одно и то же соединение?

  • Произойдет ли второе соединение, если уже существует соединение с такими же учетными данными?

    <?php
        $user     = "root";
        $password = "root";
        $server   = "localhost";
        $db       = "dbo";
    
        $dsn      = "SERVER=$server; DRIVER=SQL Server; DATABASE=$db";
    
        $connection_1 = odbc_connect($dsn, $user, $password);
        //Do some stuff
        $connection_2 = odbc_connect($dsn, $user, $password);
        //Do some stuff
    ?>
    

Причина, по которой я спрашиваю, заключается в том, что у меня есть класс, который инкапсулирует весь процесс подключения, и есть отдельные php-документы, которые затем включаются, каждый со своим собственным экземпляром класса, каждый из которых выполняет попытку подключения с теми же учетными даннымикогда создан.Это означало бы, что если бы у меня было 3 экземпляра, было бы 3 попытки подключения с одинаковыми учетными данными.

Я решил это, используя статическое свойство для ссылки, и проверил, используется ли ссылка уже перед попыткойподключитесь снова, но мне все еще интересно, что произойдет.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2012

Я использовал PHP 5.2 и ODBC для подключения к MSSQL, и он не создавал четких соединений.На самом деле - когда я закрывал одно соединение, открывалось другое, закрывалось и другое, поэтому, возможно, они были различны, но все они были закрыты ошибкой.

0 голосов
/ 28 октября 2011

Я проверил это с помощью инструментов MySQL GUI и попробовал вашу концепцию (ODBC для MySQL).По крайней мере, в случае с MySQL он создал два разных соединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...