Registering DLLS on the Webserver for DTS

  • I am trying to run a DTS Package from an ASP.

    The DTS PAckage is But ofcourse on my Database Machine and the ASP on my web server machine..

    from what I understand the DTS Dlls are located on the Sql Server directory. To install them on the client(My webserver), I picked them up from the Database machine(where the DLL's are) and dumped them on my webserver in the C: drive.

    Now when I try to register them on my webserver, i get the message "LoadLibrary failed..Specified Module was not found", although i give the full path to the dlls.

    What I want to know: Just copying the DLL's would work? Or do I need to install them on the webserver, so that they get into the registry settings?

    At present when I do a search in the registry for dts, i find nothing.

    Please let me know if I am doing something wrong.

    Thanks for your help in advance.

  • Use regsvr32.exe to register each of the DLL's. 

  • yes.

    But when I try to register them, I get this error which I mentioned.

    It cant find the dll.

  • Are you specifying the entire path for the dll?

    From redist.txt on the SQL Server Installation CD:

     

    INSTALLATION NOTES FOR DATA TRANSFORMATION SERVICES (DTS)

    ---------------------------------------------------------

    The following files must be registered using the regsvr32.exe utility:

     dtsffile.dll

     dtspkg.dll

     dtspump.dll

     axscphst.dll

     Example:  regsvr32 80\Tools\Binn\dtsffile.dll

    The sqlunirl.dll file should reside in the system folder (i.e., \winnt\system32 or \windows\system).

  • Yes I am specifying the entire path for the DLL's

    What I am not sure of is:

    The DLL's are present on the database machine.

    I need to register them on the webserver.

    Should I just copy them from the Database to the webserver & try to register them on the webserver? Because that isnt working and I get "not found" error for the DLL.

    Thanks.

  • Well... try this article:  http://www.sqldts.com/default.aspx?225

    I'm not quite sure why you are trying to "install" dts on your web server.  Do you want the packages to actually run on the web server, or are you trying to execute a package on the database server.

    If you are trying to execute a package on the database server, you can start a package with a sql query.  Check my post here about creating a sql server agent job to run a dts package:  http://qa.sqlservercentral.com/forums/shwmessage.aspx?forumid=19&messageid=121678&p=2

    - David

  • David,

    I am sorry if I didnt explain correctly..which I will try & do now.

    I have the DTS Package on my Database machine.

    I have an ASP on my webserver machine.

    I need to be able to click a button on my ASP so that it triggers the DTS Package.

    Now to be able to do that what I understand is that I need to REGISTER the DLL's on my Webserver( NOT INSTALL)

    Now these DLL's are a part of the Database machine (As in they lie on the Database machine).

    For me to be able to register them on the webserver,I copy them from the database machine over to a folder on the webserver & try & register them on the webserver using the REGSRV32.exe command.

    Here(on the Webserver) it gives me the error that the DLL wasnt found.

  • I understand your situation now.  I would suggest that you do not register the DLL's on your web server.  Especially since it isn't working for you.

    In your ASP page, create an database connection (to your database server)and run a query to execute the DTS package.  There shouldn't be any need to have DTS on your web server.

    If you create a SQL Server agent job for the DTS package, you can execute sp_startjob from a SQL query.  This is a good option, because SQL Server Agent will not allow more than one instance of a job to be run at any one time. 

    Or, you can try executing DTSRUN via a query by using xp_cmdshell.  xp_cmdshell will run a command line executable on the database server.  Make sure you are using the master database context to run this.

     

  • I will try what you suggest.

    BUT I still would like to know why the registering isnt working.

    We have 2 environments: Stage & Prod.

    I was able to register the DLL's correctly for the Stage environment following the steps I have described above.

    It just dosent let me for the Prod Environment

    Thanks

    Raman.

  • Can't help you much with the dll registration.  I did have a slightly similar problem last week.  My prod server stopped talking to my Domain Controller.  Since it couldn't see Active Directory, DNS, etc, all kinds of wierd things started happening.  Services wouldn't start, etc....  A reboot of the DC and then the Prod servers fixed the problem. 

    All kinds of strange things happen with Windows.  Good luck!

  • Ok so I searched the net for the nth time again.. and found out that it was due to the fact that a supporting dll was absent which was sqlresld.dll.

    So i got that first & now the registration works..

    As you said " All kinds of strange things happen..."

    Thanks for ur help.

    You were the only one who replied to my queries...

  • I would recommend the suggestions above about running DTS only on the database server, but, for you information:

    A DLL can call (depend on) many other DLLS and if any of them are not registered on your web server PC you will get the message you are getting. Though, the "specified module not found" usually tells you what the name of the missing dll is.

    If the message specied another dll, just copy that DLL onto the web server from the same placeas the dts dll and register it with regsvr32. Then the dts dll should register. But may not work very well if ANY of the dependent dlls are different versions from the ones on the database server. If no other dll was specified in the message, download a Dependency Walker program and use it to view the dll. It will show you all the DLLs and OCXs that are called by the DTS DLL.

    Regards

    Peter Tillotson

Viewing 12 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic. Login to reply