Link to home
Start Free TrialLog in
Avatar of bcp5190
bcp5190

asked on

How can i test com with vbscript or sqlserver?

I have created a ActiveX COM Object. now how can i move it to different server without creating installation program.

I used wininet.dll api in COM but all IE coms with wininet.dll. I used wininet.dll to download data from website. Do i need to create an instllation program to run it from different machine.

It woks greate from my machine but how can i test it from different machine without installing it. can i test by just copying dll file in a second server and using vbscript or sql server.


In second server following code works on asp but it fails on sqlserver job. Why? In development machine following code works in ASP and Sql server.

Dim sURL    
Dim oWininet
Set oWininet = CreateObject("ObjWininet.Download")
sURL = "http://www.yahoo.com"
strusername = Username
strPassword = Password
Call oWininet.Save(sURL, strusername, strPassword, "e:\temp\yahoo.htm")
Set oWininet = Nothing

Avatar of Richie_Simonetti
Richie_Simonetti
Flag of Argentina image

listening...
It fails with which error?

If it is 429, then some DLLs are not properly registered (or are not there at all).

Also, I see that you have "e:\temp\yahoo.htm". Does this exists on your other server?
Avatar of bcp5190
bcp5190

ASKER

I have temp folder in e:\ drive in second server. And From sql server job above code does not fail but it downloads blank page but from asp page same code successfully downloads website.
Avatar of bcp5190

ASKER

Here is some api call i'm using in com object to downlaod data from website.

Private Declare Function HttpOpenRequest Lib "wininet.dll" Alias "HttpOpenRequestA" (ByVal hHttpSession As Long, ByVal sVerb As String, ByVal sObjectName As String, ByVal sVersion As String, ByVal sReferer As String, ByVal something As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long

Private Declare Function HttpSendRequest Lib "wininet.dll" Alias "HttpSendRequestA" (ByVal hHttpRequest As Long, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal sOptional As String, ByVal lOptionalLength As Long) As Integer

Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer


Private Declare Function InternetSetOption Lib "wininet.dll" Alias "InternetSetOptionA" (ByVal hInternet As Long, ByVal lOption As Long, ByRef sBuffer As Any, ByVal lBufferLength As Long) As Integer

......
Just a guess, Save method is synchronius? Maybe a time out is present in on server and not in other.
And a question:
Couldn't you use ftpgetfile instead?
Avatar of bcp5190

ASKER

I try
Dim sURL    
Dim oWininet
Set oWininet = CreateObject("ObjWininet.Download")
sURL = "http://www.yahoo.com"
strusername = Username
strPassword = Password
Call oWininet.Save(sURL, strusername, strPassword, "e:\temp\yahoo.htm")
Set oWininet = Nothing
code in Data transfer Services packafe and place abouve code in activex script and it works fine in both machine.

I'm only having a problem in Sql server Agent Jobs scripts.

If i create a job for local package the it fails. but if i run local package manually it works
Avatar of bcp5190

ASKER

Sorry i cannot use any other method for downloading.
ASKER CERTIFIED SOLUTION
Avatar of Richie_Simonetti
Richie_Simonetti
Flag of Argentina 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
Avatar of bcp5190

ASKER

Is there any specific setting i should check. Because if i create a package for above code then it works fine. It only fain when i run from SQL job
I don't know sorry. i never used SQL server.