
Would it be possible to filter the trace relevant data only?ĬardDAV/Backend/PDO.php: * \PDO $pdo DB contextĬardDAV/Backend/PDO.php: public function _construct(\PDO $pdo,ĬardDAV/Backend/PDO.php: parent::_construct($pdo) ĬardDAV/Backend/PDO.php: $stmt = $this->pdo->prepare('SELECT principaluri FROM '. Will it be possible to find the needle in the haystack without something like a timestamp?
#MS ODBC DRIVER 11 FOR SQL SERVER CODE#
Php-cgi 202c-14f4 EXIT SQLDriverConnectW with return code 0 (SQL_SUCCESS) Php-cgi 202c-14f4 ENTER SQLDriverConnectW Php-cgi 202c-14f4 EXIT SQLSetConnectAttr with return code 0 (SQL_SUCCESS) Php-cgi 202c-14f4 ENTER SQLSetConnectAttr Php-cgi 202c-14f4 EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS) Is it the same script you run again and again in a loop? Does the script do anything else?Īt any rate, please provide additional details of your test scenario, if possible. Once you have connected, do you disconnect (exit the script, for example)?
#MS ODBC DRIVER 11 FOR SQL SERVER WINDOWS#
Now, this could be very much specific to my test scenario, but at least there the results were consistent.ĭo you connect to a SQL Server instance in that Windows VM on Azure or do you connect to an Azure SQL Server (also known as SQL Server on Azure)? With MARS enabled it usually took at most a day or two before such an error happened (we put the server under load using a jmeter test). With MARS turned off, we didn't hit the problem anymore.

We had customers who reported this problem to us, so I tried to reproduce the issue inside a Windows VM on Azure. Yes that's when the driver attempts to make a connection. At least I didn't find anything relevant in the PHP log. I suspect because the error already happens when the PDO object is created. I tried ODBC tracing via TraceOn=1, but wasn't able to gather anything (meaningful). To help us investigate or reproduce this issue, we welcome any additional repro scenario and/or steps. $conn = new PDO('sqlsrv:Server= TraceOn=1 Database=myDB', 'myID', 'myPwd') If you're going to provide an ODBC trace, you'll need to modify your pdo_sqlsrv script by adding TraceOn=1, like this:


You probably need a much better database design that can accommodate additional data more easily.$db_dsn = 'sqlsrv:Server='.$db_host.' Database='.$db_name If you are using a relational database, why would you be allowing such frequent changes? And given such changes, why would you expect any framework to work well with such a thing? Honestly, the expectation that you can "get away with that" is not realistic. However, you haven't indicated anything other than you have a custom error message and that you have a schema that changes regularly. Frameworks are not going to handle that kind of thing well. Net, I'd not be happy to work correctly if the schema for my data was changed behind my back, and nobody told me about it. Well, I don't know about you, but if I were a framework, such as. Application Server OS Windows Server 2012R2 64-bit SQL Server 2017 (.1), OS - MS Windows Server 2016 Standard 64-bit I have already attempted using different API conversions for dates. Once that time has passed "restricted data type attribute violation" error comes back. While the time has not fully passed, the recordset will attach, open, and operate on this table like nothing is wrong.

This error will repeat twice in a row and then will not replicate again for a while. The issue is that this recordset class will fail to open the table with the error "Restricted data type attribute violation". The application attempts to bind with the table using a CRecordset class (dynamically bound). This issue occurs repeatedly with a table with columns that are somewhat managed dynamically in the sense that columns may be added or removed on occasion.
