Link to home
Start Free TrialLog in
Avatar of John Esraelo
John EsraeloFlag for United States of America

asked on

SQL: Create Assembly::

Hello team,
There is a DLL that I am trying to create assembly for and  call from SQL server 2008 r2 and I am getting the following message:
Msg 6544, Level 16, State 1, Line 1
CREATE ASSEMBLY for assembly 'DLLTest' failed because assembly 'DLLTest' is malformed or not a pure .NET assembly. 
Unverifiable PE Header/native stub.

Open in new window

and the assembly creating statement is :

CREATE ASSEMBLY DLLTest
AUTHORIZATION dbo
FROM 'C:\Users\jesraelo\Downloads\BergDataLink.DLL'
WITH PERMISSION_SET = unsafe

Open in new window


The following conditions are met:
> .Net 4.0
> Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (X64)   Apr 22 2011 19:23:43   Copyright (c) Microsoft Corporation  Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
> This DLL is currently is in use in multiple VB scripts of another application.

So, to create an assembly and call the DLL at this is an issue for me IN SQL that I am trying to figure out and any assistance and help will be appreciated.
thx
Avatar of kaufmed
kaufmed
Flag of United States of America image

Was BergDataLink.DLL written in .NET?
Avatar of John Esraelo

ASKER

I believe so, I have forwarded this question to the developer just to make sure I am accurate on this.
Alright, have found out that it was being done in visual foxPro  VFP ..

I guess, it is safe to say .. " my goose is cooked.. "..   now what?
I have never worked in FoxPro. You *might* be able to write a .NET wrapper around the VFP, but I am not certain.
It may be the only way. I have not done that either.

So, how would that work.  I will make a wrapper, in C# for instance, that would call the VFP.DLL and then create an assembly in SQL for the wrapper?
Yes.
that about sums it up..

now, I am going to learn how to make a DLL in c# that would accept the ARGs, creates object for the vfp dll, pass the args to VFP dll and get the results back and pass back to sql..

like we say...
marrona mia
ASKER CERTIFIED SOLUTION
Avatar of kaufmed
kaufmed
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
The VFP DLL has been created around 3 years ago and one of our applications has been using it to update the records in VFP from a VB calling process / module.  Therefore, I don't have to worry about anything on that VFP side.. the DLL is smart  enough to know which table we are updating/inserting, etc. ..
So, to make the short story longer, I can play with a table that is not used today in that vfp side and examine that by writing a small note or comments or something..
just to see if it works.

The problem is that I have been away from C# for over 5 years now.. so bit rusty..
currently looking into some info : see below
http://foxcentral.net/microsoft/netforvfpdevelopers_chapter15.htm
Thank you for the pointer and advice