We are using classic ASP and SQL Server 2012 standard edition.
Our connection string is as below
provider=SQLNCLI11;Data Source=xxx; MultiSubnetFailover=True; Initial Catalog=xxx; User ID = xxx; Password =xxxxxx; DataTypeCompatibility=80; Integrated Security=SSPI; MARS Connection=true;
We were using SQLOLEDB provider and it was working fine in our application. When we tried to change provider to SQL Native client (SQLNCLI 11) it was throwing error
Command dialect is not supported by SQLNCLI11 provider SQL Server 2012
on below line
set ocmd = server.CreateObject("ADODB.Command") 'created command object
oCmd.Dialect = "{5D531CB2-E6Ed-11D2-B252-00C04F681B71}" ' assigned dialect
oCmd.Execute , , 1024 'Error line
Had to look this one up not seen it for a while.
The
Dialectproperty of theADODB.Commandobject has this descriptionSo the
Dialectis specific to a provider, now that you have changed the provider the Command Dialect is not longer supported for that specific GUID reference, that isn't to say that SQLNCLI11 won't support others.The specific
DialectProvides support for Applying an XSL Transformation with the SQLXMLOLEDB provider.
I doubt there is an equivalent setting in the SQL Server Native Client because SQL Server 2012 supports the
FOR XMLclause for returning XML data.