Skip to content

Updated PDO_SQLSRV connection to use driverOptions in prepare-function  #6577

Open
@DAdq26

Description

@DAdq26

Hi team,

Bug Report

Previously closed issue #2185 on the same subject does not exist anymore in version 3.x
Actually the simple script above

$database = "mybase";
$server = "mssql";
$conn = new PDO( "sqlsrv:server=$server ; MultipleActiveResultSets=false; Database = $database", "", "");

$query = "select * from mytable";
$stmt = $conn->prepare($query);
$stmt->execute();

print "Row count : ";
print $stmt->rowCount();

returns everytime -1 because we cannot use PDO::ATTR_CURSOR attribute when we used native prepare

After debugging inside DBAL with PDO_SqlSrv wrapper we discover that prepare cannot be override like in the first issue with driverOptions
It's essential to use native Pdo::prepare($stmt, $options) to precise scrollable cursor to make it works..

$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));

Perhaps we have not seen any option or configuration, but runtime code does not seems to modify native prepare method in
doctrine/dbal/src/Driver/PDO/Connection.php line 55 on version 3.6.6

image

If you have any advice or fix to get back $driverOptions config as in #2185, it would be perfect

Best

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions