Running a DLL in the Query Analyzer

Running a DLL in the Query Analyzer

am 23.11.2007 15:15:57 von Jim

Hi,

I have a DLL that I want to run from the Query Analyzer. I tried the
following:

USE master;
EXEC sp_addextendedproc BLAH, '\\Other-Server\Path\To\Blah\Blah.dll'

and I get the error:

ODBC: Msg 0, Level 16, State 1
Cannot load the DLL \\Other-Server\Path\To\Blah\Blah.dll, or one of
the DLLs it references. Reason: 126(The specified module could not be
found.).

The DLL was written in Cobol. The "Other-Server" in the Path above is
the server that Cobol (and the DLL) is located on.

I looked at the dependencies for the DLL and it includes (not
surprisingly) Cobol Dll's. It should find those on the other server.

What can I do?

Thanks!

Re: Running a DLL in the Query Analyzer

am 23.11.2007 16:15:54 von jimshain

One other thing....

The DLL can be called from Visual Basic. That was installed some time
ago and works great.


On Nov 23, 9:15 am, Jim wrote:
> Hi,
>
> I have a DLL that I want to run from the Query Analyzer. I tried the
> following:
>
> USE master;
> EXEC sp_addextendedproc BLAH, '\\Other-Server\Path\To\Blah\Blah.dll'
>
> and I get the error:
>
> ODBC: Msg 0, Level 16, State 1
> Cannot load the DLL \\Other-Server\Path\To\Blah\Blah.dll, or one of
> the DLLs it references. Reason: 126(The specified module could not be
> found.).
>
> The DLL was written in Cobol. The "Other-Server" in the Path above is
> the server that Cobol (and the DLL) is located on.
>
> I looked at the dependencies for the DLL and it includes (not
> surprisingly) Cobol Dll's. It should find those on the other server.
>
> What can I do?
>
> Thanks!

Re: Running a DLL in the Query Analyzer

am 24.11.2007 15:52:44 von Dan Guzman

> The DLL was written in Cobol. The "Other-Server" in the Path above is
> the server that Cobol (and the DLL) is located on.

Not just any DLL can run as a SQL Server extended stored procedure.
Extended stored procedures are usually written in C/C++, although I've heard
that some have been written using Delphi. See Creating Extended Stored
Procedures in the Books Online for details.

Separately, COM DLLs can be invoked using sp_OA* procs.

--
Hope this helps.

Dan Guzman
SQL Server MVP

"Jim" wrote in message
news:8d9db5fa-a277-400f-9761-7886f9607c55@g21g2000hsh.google groups.com...
>
> Hi,
>
> I have a DLL that I want to run from the Query Analyzer. I tried the
> following:
>
> USE master;
> EXEC sp_addextendedproc BLAH, '\\Other-Server\Path\To\Blah\Blah.dll'
>
> and I get the error:
>
> ODBC: Msg 0, Level 16, State 1
> Cannot load the DLL \\Other-Server\Path\To\Blah\Blah.dll, or one of
> the DLLs it references. Reason: 126(The specified module could not be
> found.).
>
> The DLL was written in Cobol. The "Other-Server" in the Path above is
> the server that Cobol (and the DLL) is located on.
>
> I looked at the dependencies for the DLL and it includes (not
> surprisingly) Cobol Dll's. It should find those on the other server.
>
> What can I do?
>
> Thanks!
>
>
>
>

Re: Running a DLL in the Query Analyzer

am 26.11.2007 16:08:21 von jimshain

Since I can call it from a VB program, do you know if I can create a
new DLL using the VB program and use that to access the needed DLL?
If not... If I can call my needed DLL from a C/C++ program, can I
create a new DLL that I could call to get at my needed DLL?

The DLL that I need to call, was bought from a different company, so I
don't have access to the code.

Thanks alot!

Jim


On Nov 24, 9:52 am, "Dan Guzman" online.sbcglobal.net> wrote:
> > The DLL was written in Cobol. The "Other-Server" in the Path above is
> > the server that Cobol (and the DLL) is located on.
>
> Not just any DLL can run as a SQL Server extended stored procedure.
> Extended stored procedures are usually written in C/C++, although I've heard
> that some have been written using Delphi. See Creating Extended Stored
> Procedures in the Books Online for details.
>
> Separately, COM DLLs can be invoked using sp_OA* procs.
>
> --
> Hope this helps.
>
> Dan Guzman
> SQL Server MVP
>
> "Jim" wrote in message
>
> news:8d9db5fa-a277-400f-9761-7886f9607c55@g21g2000hsh.google groups.com...
>
>
>
>
>
> > Hi,
>
> > I have a DLL that I want to run from the Query Analyzer. I tried the
> > following:
>
> > USE master;
> > EXEC sp_addextendedproc BLAH, '\\Other-Server\Path\To\Blah\Blah.dll'
>
> > and I get the error:
>
> > ODBC: Msg 0, Level 16, State 1
> > Cannot load the DLL \\Other-Server\Path\To\Blah\Blah.dll, or one of
> > the DLLs it references. Reason: 126(The specified module could not be
> > found.).
>
> > The DLL was written in Cobol. The "Other-Server" in the Path above is
> > the server that Cobol (and the DLL) is located on.
>
> > I looked at the dependencies for the DLL and it includes (not
> > surprisingly) Cobol Dll's. It should find those on the other server.
>
> > What can I do?
>
> > Thanks!- Hide quoted text -
>
> - Show quoted text -

Re: Running a DLL in the Query Analyzer

am 26.11.2007 23:35:37 von Erland Sommarskog

(jimshain@gmail.com) writes:
> Since I can call it from a VB program, do you know if I can create a
> new DLL using the VB program and use that to access the needed DLL?
> If not... If I can call my needed DLL from a C/C++ program, can I
> create a new DLL that I could call to get at my needed DLL?
>
> The DLL that I need to call, was bought from a different company, so I
> don't have access to the code.

Yes, you could write one or more extended stored procedures to access
the DLL. Or implement COM methods.

On SQL 2005, you could to a COM-interop and call it from CLR.

Whatever, it's a bit of work, and and if you have errors in your
code that causes access violation, you could crash SQL Server.

To get information about writing extended stored procedures, please
see in Books Online for details. If you have never done it before,
expect at least 50 hours of development.

--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downlo ads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books .mspx

Re: Running a DLL in the Query Analyzer

am 27.11.2007 15:17:28 von jimshain

Thanks for the pointers!

Jim

On Nov 26, 5:35 pm, Erland Sommarskog wrote:
> (jimsh...@gmail.com) writes:
> > Since I can call it from a VB program, do you know if I can create a
> > new DLL using the VB program and use that to access the needed DLL?
> > If not... If I can call my needed DLL from a C/C++ program, can I
> > create a new DLL that I could call to get at my needed DLL?
>
> > The DLL that I need to call, was bought from a different company, so I
> > don't have access to the code.
>
> Yes, you could write one or more extended stored procedures to access
> the DLL. Or implement COM methods.
>
> On SQL 2005, you could to a COM-interop and call it from CLR.
>
> Whatever, it's a bit of work, and and if you have errors in your
> code that causes access violation, you could crash SQL Server.
>
> To get information about writing extended stored procedures, please
> see in Books Online for details. If you have never done it before,
> expect at least 50 hours of development.
>
> --
> Erland Sommarskog, SQL Server MVP, esq...@sommarskog.se
>
> Books Online for SQL Server 2005 athttp://www.microsoft.com/technet/prodtechnol/sql/2005/down loads/books...
> Books Online for SQL Server 2000 athttp://www.microsoft.com/sql/prodinfo/previousversions/boo ks.mspx