Open Cristian-Rosa opened 1 month ago
Tagging subscribers to this area: @davoudeshtehari, @david-engel, @jrahnama See info in area-owners.md if you want to be subscribed.
Tagging subscribers to this area: @roji, @ajcvickers See info in area-owners.md if you want to be subscribed.
Tagging subscribers to this area: @roji, @ajcvickers See info in area-owners.md if you want to be subscribed.
Changed original post. Issue is related only with Spanish (Argentina) locale.
Issue start with 7.0.0-preview.1.22076.8 I think could be related to #61184
@AaronRobinsonMSFT @jkoritzinsky @elinor-fung does it sound like #61184 could trigger this?
Debugged until OleDbComWrappers.GetDescription
public unsafe System.Data.OleDb.OleDbHResult GetDescription(out string? description)
{
IntPtr pDescription = IntPtr.Zero;
int errorCode = ((delegate* unmanaged<IntPtr, IntPtr*, int>)(*(*(void***)_wrappedInstance + 5 /* IErrorInfo.GetDescription slot */))) (_wrappedInstance, &pDescription);
errorCode is taking -2147217855 value
That error code is DB_E_NOLOCALE.
It's possible that the conversion to source-generated P/Invokes missed something. I'll take a quick look and see if I can find something that we missed.
Description
After migrating from System.Data.OleDB 6.0.0 to 7.0.0 or greater error messages are broken on Windows with language set to Spanish Locale (Argentina). Instead it shows error codes.
Reproduction Steps
For example:
System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection();
try
{
cn.ConnectionString = "Provider=SQLOLEDB.1;Data Source=AnyWrongDS;Integrated Security=SSPI;Initial Catalog=master;Current Language=Spanish;";
cn.Open();
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
Expected behavior
Exception on version 7.0.0 or greater should throw: [DBNETLIB][ConnectionOpen (Connect()).]No existe el servidor SQL Server o se ha denegado el acceso al mismo
Actual behavior
Running the code on Windows with language set to English throws: [DBNETLIB][ConnectionOpen(Connect()).] SQL server does not exist or access denied Running on Spanish language Locale (Argentina) throws: Unspecified error: E_FAIL(0x80004005) Running on Spanish (Argentina) using System.Data.OleDB 6.0.0 throws: [DBNETLIB][ConnectionOpen (Connect()).]No existe el servidor SQL Server o se ha denegado el acceso al mismo
Regression?
No response
Known Workarounds
No response
Configuration
.Net 7.0.0 or greater Windows language: Spanish
Other information
No response