Thursday, September 09, 2010
Support » Support Forum
Register Login
HomeWhat is NDO?- Executive Overview- NDO for DevelopersHow NDO Works- Persistent Classes- Mapping- Queries- Reverse Engineering- Inheritance, Polymorphism- Distributed ApplicationsLicensingSupport- Support Forum- FAQ- Solutions- Downloads- E-Mail Support- Tutorial VideosOnline ShopContact
Welcome to the NDO support forum!
Please register/login at the site if you want to post a thread. We sometimes copy support mails of common interest to the forum. They appear with anonymous sender. Please post your messages in English language if possible. You can do your posts also in German, we will translate your post and our answer so that all users of the forum can read your posts. The forum software requires that javascript is enabled. Please do not insert licence information or licence keys in forum posts. If you know a good answer to a post of another user, feel free to reply! The forum is monitored. We reserve the right to remove posts we consider not to be useful for other forum users.
Hallo zusammen,
ich versuche gerade einen ASP.NET Service unter mono zu deployen.
Er besteht aus einer DataLib und dem eigentlichen Service.
In der global.asax habe ich folgenden Code implementiert:
Aktuell habe ich das Problem, dass der MySqlProvider nicht gefunden wird. Ich erhalte nachfolgende Fehlermeldung:
Die MySqlProvider.dll ist im bin Verzeichnis des Webservice hinterlegt. MySql.Data.dll, NDO.dll und NDOInterface.dll im GAC.
Hat evtl. jemand einen Tipp für mich ?
Gruß
Carsten
protected void Application_Start(object sender, EventArgs e)
{
NDO.MySqlProvider.Provider p = new NDO.MySqlProvider.Provider();
NDOProviderFactory.Instance["MySql"] = p;
_pm = new PersistenceManager();
Application.Add("persistenceManager", _pm);
}
Description: Error processing request.
Error Message: HTTP 500. NDO.NDOException: There is no provider of Type MySql in the NDOProviderFactory. Check, if you have to add a NDO provider plug-in, or use [SqlServer|Oracle|Access] as Connection Type
Stack Trace:
NDO.NDOException: #34 There is no provider of Type MySql in the NDOProviderFactory. Check, if you have to add a NDO provider plug-in, or use [SqlServer|Oracle|Access] as Connection Type at NDO.Mapping.NDOMapping.GetProvider (System.String providerShortName) [0x00000] at NDO.Mapping.NDOMapping.GetProvider (NDO.Mapping.Class cl) [0x00000] at NDO.q.a () [0x00000] at NDO.q..ctor (NDO.Mapping.Class A_0, NDO.Mapping.NDOMapping A_1, System.Data.DataSet A_2) [0x00000] at NDO.a..ctor (NDO.Mapping.NDOMapping A_0) [0x00000] at NDO.PersistenceManagerBase.Init (System.String mappingFileName) [0x00000] at NDO.PersistenceManager.Init (System.String mappingFileName) [0x00000]
Hi Carsten,
NDO searches Plug-in DLLs either in the base directory of the AppDomain or in a directory, which can be defined in the registry under the key
HKEY_LOCAL_MACHINE\SOFTWARE\HoT - House of Tools Development GmbH\NDO\1.1
The Value is AddInPath and should contain a string to the path, where the plug-ins reside. There is a file UserSetup.msi in the NDO distribution, which creates the directory and writes the registry entry for you. Just copy the MySqlProvider.dll into this directory.
.NET copies all dlls of a web application into a shadow directory and runs the application from there. If you can't use the registry key you might consider to reference the MySqlProvider.dll directly from your web application. This should cause the DLL to be copied to the shadow directory.
If neither of that works, you can put the provider into the provider list with the following code:
NDOProviderFactory.Instance["MySql"] = new NDO.MySqlProvider.Provider();
This requires a reference to the MySqlProvider.dll. You can put this code in the Application_Start event in the global.asax or global.asax.cs file.
If you have further questions, please ask.
RegardsMirko
Note: In a few days we'll move this post into the Development section of the NDO support forum.