June 22, 2004 at 9:51 am
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.
June 22, 2004 at 10:35 am
Use regsvr32.exe to register each of the DLL's.
June 22, 2004 at 10:40 am
yes.
But when I try to register them, I get this error which I mentioned.
It cant find the dll.
June 22, 2004 at 10:46 am
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).
June 22, 2004 at 11:25 am
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.
June 22, 2004 at 11:32 am
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://www.sqlservercentral.com/forums/shwmessage.aspx?forumid=19&messageid=121678&p=2
- David
June 22, 2004 at 11:46 am
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.
June 22, 2004 at 11:55 am
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.
June 22, 2004 at 11:58 am
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.
June 22, 2004 at 12:06 pm
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!
June 22, 2004 at 12:16 pm
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...
June 23, 2004 at 5:46 am
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