Unidirect and web services

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for universal data access
Post Reply
gal_lupus
Posts: 10
Joined: Mon 02 Jan 2006 22:21

Unidirect and web services

Post by gal_lupus » Thu 18 Dec 2008 18:55

Hi,

I'm using Unidirect components in the Web service. On my computer the web service works fine. But when I published it and copied to the server I couldn't run any methods from it. The service returns error that some Unidirect dlls can not be found. I checked the Bin directory and dlls are there. After installation of Unidirect on the server the methods started to work. But I can't install Unidirect on the production server, I can just create my webservice.
What I'm doing wrong?

Thanks,
Galina

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Mon 22 Dec 2008 12:54

The following assemblies must be available in order to use UniDirect .NET.
For professional version:
CoreLab.UniDirect.dll and CoreLab.UniDirect.XXX.dll, where XXX - provider name (MySQL, Oracle, PostgreSQL).
For standard version:
CoreLab.UniDirect.dll, CoreLab.XXX.dll, where XXX - provider name (MySQL, Oracle, PostgreSQL).

Please send us the error message.

gal_lupus
Posts: 10
Joined: Mon 02 Jan 2006 22:21

Error Message

Post by gal_lupus » Mon 29 Dec 2008 17:25

Hi,

We are using professional version of UniDirect. I found that when I published my WebService, file CoreLab.UniDirect.Oracle.dll wasn't added to the Bin directory. That's why I went to the Corelab DLL directory and found that there are 2 files with the same name: Corelab.Unidirect.Oracle.dll. One in the directory "Providers" and another in the directory "Providers\External". Files have different size. I copied the first one and tried to call the method from my WebService and got the error. I copied another file, second one, and got the same error. Here the error message:

System.TypeLoadException: Method 'get_IsTrial' in type 'CoreLab.UniDirect.OraDirectProvider' from assembly 'CoreLab.UniDirect.Oracle, Version=2.5.7.0, Culture=neutral, PublicKeyToken=09af7300eec23701' does not have an implementation.
at System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at System.Reflection.Assembly.GetType(String name)
at CoreLab.UniDirect.ProviderManager.a(f A_0)
at CoreLab.UniDirect.ProviderManager.GetProvider(String providerName)
at CoreLab.UniDirect.ad.a(String A_0, Boolean A_1)
at CoreLab.UniDirect.UniConnection.set_ConnectionString(String value)
at CoreLab.UniDirect.UniConnection..ctor(String connectionString)
at adminService.CheckFormula(String FieldLevelId, String ControlType, String FieldTables, String SQLFormula)

Thank you,
Galina

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Tue 30 Dec 2008 09:55

This error occurs if you use Corelab.Unidirect.Oracle.dll from Professional Edition and CoreLab.UniDirect.dll from Trial Edition. Please make sure the CoreLab.UniDirect.dll assembly in your project is the one from Professional Edition (just replace the assembly in your project with the assembly from UniDirect .NET Professional installation folder).

You need only the Corelab.Unidirect.Oracle.dll assembly from the Providers directory.

gal_lupus
Posts: 10
Joined: Mon 02 Jan 2006 22:21

Post by gal_lupus » Tue 30 Dec 2008 16:44

Thank you very much. I had trial version before we bought professional one. When I replaced dlls everything start to work.

Galina

Post Reply