none
What's the roadmap for the SQL Server Driver? RRS feed

  • Question

  • Hello,

    I was wondering if you guys had a public roadmap? It's been a while since a release, or even an update on what you're working on, and I know a lot of people (like myself) are waiting for, among other things, a robust, fully featured PDO extension. Is this something we'll see any time soon? An update would be great if you don't mind me asking :)

    Cheers,
    Craig
    Thursday, February 25, 2010 6:28 PM

Answers

  • It's been a while since a release, or even an update on what you're working on, and I know a lot of people (like myself) are waiting for, among other things, a robust, fully featured PDO extension. Is this something we'll see any time soon? An update would be great if you don't mind me asking :)


    Hi Craig,

    Did you see our latest announcement in our blog or in the announcements section above? Have you had a chance to give it a try? Since you are one of those that asked, I look forward to your feedback.

    Thanks,

    Ashaay


    Ashay Chaudhary Program Manager, SQL Server Driver for PHP
    Wednesday, April 28, 2010 5:39 AM
    Moderator

All replies

  • Hello Craig,

    We posted a public survey last October and had a great response. Based on the feedback received, we are working on the most requested items. It is too early to discuss this publicly at this time, we do expect to have an announcement in the next couple of months. We appreciate your feedback on the need for a full featured PDO extension, we did receive this request in the survey (maybe you did so in the survey). We understand that we aren’t saying much in this response, I'll just refer you back to our continual improvements stand testimony that we are working on the most requested features. :-)

    Since you’ve brought up the topic of a “full featured PDO extension”, “full featured” means different things to different people with different requirements. Can you elaborate with specifics on what functionality you need in the PDO extension along with some sample scenarios (some also call them use cases)?

    Thanks,


    Ashay Chaudhary - MSFT
    Program Manager, SQL Server Driver for PHP
    Tuesday, March 2, 2010 1:50 AM
    Moderator
  • Hi Ashay,

    Thanks for your reply; sorry it's taken me a while to get back to you!

    I did fill in the survey in October, and mentioned a PDO extension would be very valuable. Since then I've spent a lot more time working with PHP, the PDO ODBC driver and SQL Server, and when I say 'full featured', I'm essentially asking for a driver for PDO that allows for as much SQL Server-specific functionality to be available as the PDO interface allows, even if all that achieves is a reduction in errors and bugs.

    To give you some sample scenarios, I've had some issues with bound parameters not being cast to their correct SQL types in subqueries, an issue you may be already familiar with (http://tinyurl.com/yenw9u6). I've discussed it with Brian Swan here (http://tinyurl.com/yenw9u6) and he reported that a fix should be present in the next version of SQL Server.

    The SQL Server Driver for PHP also suffers from this issue but, as Brian points out in the comments of that post, it's possible to specify the SQL Server type of each bound parameter (http://tinyurl.com/y8deqot) to combat it, which I can't do in PDO. Ideally the PDO driver would allow the same, utilising something like the fifth parameter of PDOStatement::bindParam() (driver specific options) to pass the parameter type to avoid any confusion in SQL Server.

    I've also been unable to get MARS and transactions working together; I'm not sure if this is because of a limitation of the PDO driver or because I've not understood how to handle multiple active record sets and maintain transactional integrity. Of course, another advantage of a Microsoft-endorsed PDO driver would hopefully be documentation that's on a par with the SQL Server for PHP driver, which could explain how to resolve this issue :)

    Does that help?

    Cheers,
    Craig
    • Edited by Falsedawn Monday, March 15, 2010 3:23 PM Incorrect parameter referenced in PDOStatement::bindParam
    Monday, March 15, 2010 3:10 PM
  • To give you some sample scenarios, I've had some issues with bound parameters not being cast to their correct SQL types in subqueries, an issue you may be already familiar with (http://tinyurl.com/yenw9u6). I've discussed it with Brian Swan here (http://tinyurl.com/yenw9u6) and he reported that a fix should be present in the next version of SQL Server.

    The SQL Server Driver for PHP also suffers from this issue but, as Brian points out in the comments of that post, it's possible to specify the SQL Server type of each bound parameter (http://tinyurl.com/y8deqot) to combat it, which I can't do in PDO. Ideally the PDO driver would allow the same, utilising something like the fifth parameter of PDOStatement::bindParam() (driver specific options) to pass the parameter type to avoid any confusion in SQL Server.

    I've also been unable to get MARS and transactions working together; I'm not sure if this is because of a limitation of the PDO driver or because I've not understood how to handle multiple active record sets and maintain transactional integrity. Of course, another advantage of a Microsoft-endorsed PDO driver would hopefully be documentation that's on a par with the SQL Server for PHP driver, which could explain how to resolve this issue :)

    Does that help?

    Cheers,
    Craig

    Hi Craig,

    Thanks for the nice, long and detailed post. As you can in the quoted section above, a couple of the TinyURLs (http://tinyurl.com/yenw9u6) need to be corrected as they point to this thread itself). So, I'll temporarily skip this until I get the exact references, get all the context, and then address it. 

    when I say 'full featured', I'm essentially asking for a driver for PDO that allows for as much SQL Server-specific functionality to be available as the PDO interface allows, even if all that achieves is a reduction in errors and bugs.
    Understand what you mean by "full featured" now. Not sure about "reduction in errors and bugs" because brand new code == brand new bugs. ;-)  Just kidding, I get your point.

    The SQL Server Driver for PHP also suffers from this issue but, as Brian points out in the comments of that post, it's possible to specify the SQL Server type of each bound parameter (http://tinyurl.com/y8deqot) to combat it, which I can't do in PDO. Ideally the PDO driver would allow the same, utilising something like the fifth parameter of PDOStatement::bindParam() (driver specific options) to pass the parameter type to avoid any confusion in SQL Server.
    I will take a look at Brian's comments (or sync with him offline) and then see how it maps to PDOStatement::bindParam() API.

    I've also been unable to get MARS and transactions working together; I'm not sure if this is because of a limitation of the PDO driver or because I've not understood how to handle multiple active record sets and maintain transactional integrity. Of course, another advantage of a Microsoft-endorsed PDO driver would hopefully be documentation that's on a par with the SQL Server for PHP driver, which could explain how to resolve this issue :)
    Just to be clear, you are not able to get MARS + transactions to work with the:
    1. PDO_ODBC driver?
    If so, can you put some code snippets of what you've attempted (and the error messages)?

    2. "SQL Server driver for PHP v1.1"?
    If so (and since we've convinced you to get a LiveID for this forum), can you file a bug for this issue on our Connect site?

    And while we are on the topic for PDO, are you willing to elaborate on the applications you work on using PHP/PDO?

    Once again, I (and our team) really appreciate the professional manner in which you are communicating with us. Keep it up!

    Looking forward to your response.

    Best regards,

    Ashay Chaudhary - MSFT Program Manager, SQL Server Driver for PHP
    Wednesday, March 17, 2010 5:04 AM
    Moderator
  • I should add for the benefit of all, I hear the request for Microsoft to share a roadmap publicly.

    I'll say it plain and clear, as a company it is often required to keep some critical information like roadmaps confidential because we do have competitors who can then preempt our efforts using this information.

    That said, the PHP driver team in SQL Server has shared our immediate plans with some good partners (some from open source community, some from proprietary source software vendors using PHP).

    Their feedback?
    We can't deliver fast enough!  :-)

    So, we are heads down working on delivering sooner rather than later.
    Ashay Chaudhary - MSFT Program Manager, SQL Server Driver for PHP
    Wednesday, March 17, 2010 5:19 AM
    Moderator
  • Hi Ashay,

    Hmm, I'm not sure what happened with those URLs. Here they are again (in full this time!):

    https://connect.microsoft.com/SQLServer/feedback/details/521409/odbc-client-mssql-does-not-work-with-bound-parameters-in-subquery?wa=wsignin1.0

    http://bugs.php.net/36561

    It was with the PDO_ODBC driver - I went back to the MARS issue and took another look at it - I think the issue was that I was managing transactions manually through direct queries ('BEGIN TRANSACTION', 'COMMIT TRANSACTION', etc.) and not the PDO API. I switched to the latter and all seems fine. I haven't looked at it any further, but there doesn't seem to be a bug with ODBC so apologies for misreporting that.

    We're primarily working on web apps, CMSs / CRMs / bespoke applications. Our flagship product is a CMS built in PHP which can use either MySQL and MSSQL Server (or a combination of both) as its data store, so we use PDO and varying abstraction layers to ensure that our database-related code is as portable as possible. Generally we find that we need to write little boilerplate code, and can switch back and forth between database products pretty much imperceptibly - it's only the odd issue like this one that causes problems.

    Finally, thank you (and the team) for your assistance - for those of us that use Microsoft products it's great to be able to communicate with you, receive support, and benefit from targeted products like the SQL Server Driver. It's very much appreciated :)

    Best,

    Craig

    Tuesday, March 23, 2010 10:42 AM
  • It was with the PDO_ODBC driver - I went back to the MARS issue and took another look at it - I think the issue was that I was managing transactions manually through direct queries ('BEGIN TRANSACTION', 'COMMIT TRANSACTION', etc.) and not the PDO API. I switched to the latter and all seems fine. I haven't looked at it any further, but there doesn't seem to be a bug with ODBC so apologies for misreporting that.

    No problem. Glad you got it resolved.


    Ashay Chaudhary - MSFT Program Manager, SQL Server Driver for PHP
    Thursday, March 25, 2010 5:24 PM
    Moderator
  • It's been a while since a release, or even an update on what you're working on, and I know a lot of people (like myself) are waiting for, among other things, a robust, fully featured PDO extension. Is this something we'll see any time soon? An update would be great if you don't mind me asking :)


    Hi Craig,

    Did you see our latest announcement in our blog or in the announcements section above? Have you had a chance to give it a try? Since you are one of those that asked, I look forward to your feedback.

    Thanks,

    Ashaay


    Ashay Chaudhary Program Manager, SQL Server Driver for PHP
    Wednesday, April 28, 2010 5:39 AM
    Moderator
  • Hi all,

    Moving forward, do expect us to be more engaged with the community on our blog.

    Hope to see you all there.


    Ashay Chaudhary Program Manager, SQL Server Driver for PHP
    Saturday, May 1, 2010 3:27 PM
    Moderator