CirrusRedOrg / EntityFrameworkCore.Jet

Entity Framework Core provider for Access database
MIT License
138 stars 38 forks source link

Exception in DaoSchema #71

Closed lauxjpn closed 3 years ago

lauxjpn commented 3 years ago

I pulled your fix repo and it seems to resolve the issue I statet here. However something else breaks now: I get en exception from the class DaoSchema constructor line 52 _database = _workspace.OpenDatabase(dataSource, /* Exclusive */ false, /* ReadOnly */ true, string.Empty);:

The repro is exactly same as in the first post.

System.Reflection.TargetInvocationException
  HResult=0x80131604
  Message=Ein Aufrufziel hat einen Ausnahmefehler verursacht.
  Source=mscorlib
  StackTrace:
   at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)
   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
   at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args)
   at System.Data.Jet.ComObject.TryInvokeMember(InvokeMemberBinder binder, Object[] args, Object& result) in D:\EntityFrameworkCore.Jet\src\System.Data.Jet\ComObject.cs:line 113
   at System.Dynamic.UpdateDelegates.UpdateAndExecute5[T0,T1,T2,T3,T4,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
   at System.Data.Jet.DaoSchema..ctor(JetConnection connection) in D:\EntityFrameworkCore.Jet\src\System.Data.Jet\DaoSchema.cs:line 63
   at System.Data.Jet.DaoSchema..ctor(JetConnection connection, Boolean naturalOnly) in D:\EntityFrameworkCore.Jet\src\System.Data.Jet\DaoSchema.cs:line 17
   at System.Data.Jet.PreciseSchema..ctor(JetConnection connection) in D:\EntityFrameworkCore.Jet\src\System.Data.Jet\PreciseSchema.cs:line 13
   at System.Data.Jet.SchemaProvider.CreateInstance(SchemaProviderType type, JetConnection connection) in D:\EntityFrameworkCore.Jet\src\System.Data.Jet\SchemaProvider.cs:line 15
   at System.Data.Jet.JetStoreSchemaDefinition.JetInformationSchema.GetTables(JetConnection connection) in D:\EntityFrameworkCore.Jet\src\System.Data.Jet\JetStoreSchemaDefinition\JetInformationSchema.cs:line 109
   at System.Data.Jet.JetStoreSchemaDefinition.JetInformationSchema.GetDbDataReaderFromSimpleStatement(JetCommand command) in D:\EntityFrameworkCore.Jet\src\System.Data.Jet\JetStoreSchemaDefinition\JetInformationSchema.cs:line 75
   at System.Data.Jet.JetStoreSchemaDefinition.JetInformationSchema.TryGetDataReaderFromInformationSchemaCommand(JetCommand command, DbDataReader& dataReader) in D:\EntityFrameworkCore.Jet\src\System.Data.Jet\JetStoreSchemaDefinition\JetInformationSchema.cs:line 18
   at System.Data.Jet.JetCommand.ExecuteScalarCore() in D:\EntityFrameworkCore.Jet\src\System.Data.Jet\JetCommand.cs:line 323
   at System.Data.Jet.JetCommand.ExecuteScalar() in D:\EntityFrameworkCore.Jet\src\System.Data.Jet\JetCommand.cs:line 304
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteScalar(RelationalCommandParameterObject parameterObject)

Inner Exception 1:
COMException: Not a valid password.

If this is not related I can also open another issue.

Originally posted by @xoniuqe in https://github.com/bubibubi/EntityFrameworkCore.Jet/issues/69#issuecomment-734184572

lauxjpn commented 3 years ago

COMException: Not a valid password.

@xoniuqe The inner exception claims that your password is incorrect.

Are you using a database password (not a workspace password)? If so, is it correct?

xoniuqe commented 3 years ago

@lauxjpn: Yes. I specify it with the property(?) "Jet OLEDB:Database Password=" in the connetion string.

lauxjpn commented 3 years ago

@xoniuqe Thanks for reporting this issue!

The actual issue is fixed with #72. However, I came across another issue (unrelated to this one) regarding database passwords and ODBC connection strings, where it is currently not clear whether we can solve this adequately, or whether we have to live with a workaround.

xoniuqe commented 3 years ago

Thank you for your fast replies the last days, I will test this as soon as I can, but currently I am working on some other issue and may not do this before monday.

lauxjpn commented 3 years ago

Thank you for your fast replies the last days, I will test this as soon as I can, but currently I am working on some other issue and may not do this before monday.

@xoniuqe No worries. Just report back to us when you got the time. I did test it, so it should work. We will merge it today, so we can get 3.1.0-alpha.1 officially out the door.

By the way, are you using the German OLE DB provider, or are the German messages an issue that we need to look into?

xoniuqe commented 3 years ago

@lauxjpn I am not sure about the reason for the messages. I am working with a german system so the OleDB provider should be also german.

lauxjpn commented 3 years ago

I am working with a german system so the OleDB provider should be also german.

@xoniuqe Thanks, just wanted to make sure that I did not accidentally made Jet use German libraries by default.

(I am running an English system, but am German and have German region settings enabled, so it would have been possible that I referenced a local library somewhere.)