Re: Using Python in ActiveX task - works when run as separate step



Hello Peter,

I just used some simple script to test:

sub Main()
{

use Win32;
Win32::MsgBox('Hello Word!', 2|MB_ICONQUESTION, 'My title');
return 0; # DTSTaskExecResult_Success;
}

I installed ActivePerl on my test machine, create a new DTS package, and a
new ActiveX script task.

In language box, I selected "PerlScript language", and click Auto Gen to
create the default Main function. I added the MsgBox function to test. I
then executed the task with the proper result.

Best Regards,

Peter Yang
MCSE2000/2003, MCSA, MCDBA
Microsoft Online Partner Support

When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.

=====================================================



This posting is provided "AS IS" with no warranties, and confers no rights.


--------------------
| From: Peter A. Schott <paschott@xxxxxxxxxxxxxxxx>
| Subject: Re: Using Python in ActiveX task - works when run as separate
step
| Date: Mon, 22 Aug 2005 12:50:51 -0500
| Message-ID: <2v3kg11g1r7eicqqodu3ad3nrgs19g03n3@xxxxxxx>
| References: <sgo6g1lkvd7ti0cndf53jegli71vevptdo@xxxxxxx>
<S6M9aN9oFHA.3472@xxxxxxxxxxxxxxxxxxxxx>
<226FE108-09F5-4253-A14E-3C8C2D715C71@xxxxxxxxxxxxx>
<uGY0enEpFHA.2472@xxxxxxxxxxxxxxxxxxxx>
| X-Newsreader: Forte Agent 3.0/32.763
| MIME-Version: 1.0
| Content-Type: text/plain; charset=us-ascii
| Content-Transfer-Encoding: 7bit
| Newsgroups: microsoft.public.sqlserver.dts
| NNTP-Posting-Host: 216.178.160.231
| Lines: 1
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP12.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.sqlserver.dts:14210
| X-Tomcat-NG: microsoft.public.sqlserver.dts
|
| OK - found the setting to change the function called. It defaults to
Main, but
| does not have to be Main. I left it alone just because it was easier in
the
| long run. I'm still not having any luck getting it to work as part of a
| package. I tried tweaking the step properties which still indicated this
was a
| VBScript step, but that didn't seem to make any difference either. Still
hangs
| when executing the package.
|
| Peter Yang, if you can detail some of what you did to get Perl working,
I'd
| appreciate it. It may help me solve my current issue.
|
| Thanks.
|
| -Pete Schott
|
| Darren Green <darren.green@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
|
| > Peter A. Schott wrote:
| > > Well, I've got a bunch of other VBScript tasks running without any
issues. I
| > > was trying to use Python in this case because I know it a little
better than
| > > VBScript and it was easier to do what I needed. I will try the
| > > auto-generation of a blank function and see if I can run just that as
a whole.
| > >
| > > The way I defined my task was by defining a Main() function in Python
and
| > > putting all of my code in there. Do I need to call the function as
well or
| > > will DTS call the main() function? Do I just need to put my code in
there
| > > without a function? Can you give me a sample of how you got your
ActivePerl
| > > code to work? That may give me some pointers.
| > >
| > > Thanks for your help.
| > >
| > > -Pete
| > >
| > >
| > > "Peter Yang [MSFT]" wrote:
| > >
| > >
| > >>Hello Pete,
| > >>
| > >>Though it is possible to use different script engine such as perl,
Python
| > >>in ActiveX task, it is not official support.
| > >>
| > >>It is suggest that you use a simple test script ( I use VB script as
| > >>sample) to make sure if Python can work under this stiaution
| > >>
| > >>Function Main()
| > >>
| > >> DTSGlobalVariables( "Test" ) = "Test"
| > >>
| > >> msgbox DTSGlobalVariables("Test")
| > >>
| > >> Main = DTSTaskExecResult_Success
| > >>
| > >>End Function
| > >>
| > >>You could execute the step in DTS package window.
| > >>
| > >>I ever installed Perl and it works OK. If above step fail, please try
to
| > >>click "Auto Gen" to generate default (blank) function to test.
| > >>
| > >>Best Regards,
| > >>
| > >>Peter Yang
| > >>MCSE2000/2003, MCSA, MCDBA
| > >>Microsoft Online Partner Support
| > >>
| > >>When responding to posts, please "Reply to Group" via your newsreader
so
| > >>that others may learn and benefit from your issue.
| > >>
| > >>=====================================================
| > >>
| > >>
| > >>This posting is provided "AS IS" with no warranties, and confers no
rights.
| > >>
| > >>
| > >>--------------------
| > >>| From: Peter A. Schott <paschott@xxxxxxxxxxxxxxxx>
| > >>| Subject: Using Python in ActiveX task - works when run as separate
step,
| > >>hangs when executing package
| > >>| Date: Wed, 17 Aug 2005 11:22:20 -0500
| > >>| Message-ID: <sgo6g1lkvd7ti0cndf53jegli71vevptdo@xxxxxxx>
| > >>| X-Newsreader: Forte Agent 3.0/32.763
| > >>| MIME-Version: 1.0
| > >>| Content-Type: text/plain; charset=us-ascii
| > >>| Content-Transfer-Encoding: 7bit
| > >>| Newsgroups: microsoft.public.sqlserver.dts
| > >>| NNTP-Posting-Host: 216.178.160.231
| > >>| Lines: 1
| > >>| Path:
TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13.phx.gbl
| > >>| Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.sqlserver.dts:14088
| > >>| X-Tomcat-NG: microsoft.public.sqlserver.dts
| > >>|
| > >>| Trying to use Python 2.4.1 with the Win32 extensions (build 204)
inside
| > >>of an
| > >>| ActiveX task. When I step through the package running each step,
the
| > >>package
| > >>| runs fine, even to the point of running the "message box" to see
where
| > >>the code
| > >>| is stopping.
| > >>|
| > >>| When I try to execute the package as a whole, it goes through all
| > >>preceeding
| > >>| steps, but stops at the Python task without showing even the first
| > >>message box
| > >>| saying that the function is starting to execute.
| > >>|
| > >>| Looking at the logs, I have NULLs for stepexecstatus,
stepexecresult,
| > >>endtime,
| > >>| elapsedtime, errorcode, errordescription, and progresscount in the
| > >>sysdtssteplog
| > >>| table.
| > >>|
| > >>| I'm running under the same users in each case as far as I can tell.
| > >>|
| > >>| If anyone has encountered something similar with other languages
(Perl,
| > >>PHP,
| > >>| etc) and has fixed it, please let me know what you did.
| > >>|
| > >>| If anyone has any ideas on how to get some detailed errors on why
it is
| > >>hanging
| > >>| here, please let me know and I'll post the results.
| > >>|
| > >>| Thanks.
| > >>|
| > >>| -Pete Schott
| > >>|
| > >>
| > >>
| >
| > You should not need to call Main. The UI includes the entry point text
| > box which does this for you. See the "FunctionName" property in BOL,
| > which is what the task calls on execute.
| >
| > Saying that I could never get other scripting languages to work, but
| > probably my in experience in them, as I believe others have, Perl at
least.
|

.



Relevant Pages

  • Re: ActiveX Script errors suppressed
    ... I've never actually tried to call GetExecutionErrorInfo in an ActiveX ... >etc. ActiveX Script only has the variant type. ... >change the variant to a true string. ... Dynamic Properties task instead in the main package. ...
    (microsoft.public.sqlserver.dts)
  • Re: ActiveX script works in DTS but not in job, why?
    ... When you execute the package, are you logged in as the same user under which ... and run the DTS package? ... Peter DeBetta, MVP - SQL Server ... The script works just great ...
    (microsoft.public.sqlserver.dts)
  • RE: Using Python in ActiveX task - works when run as separate step, hangs when executing package
    ... The whole DTS package also works properly for perl. ... I could execute the task but it stoped to respond when execute the whole ... It seems Python cannot work with DTS in SQL server. ... Using Python in ActiveX task - works when run as separate step, ...
    (microsoft.public.sqlserver.dts)
  • ActiveX tasks hangs in DTS.
    ... It appears that SQL Server has lost the ability to run an ActiveX Script ... In my production environment all DTS packages hang ... I've created a package with a connection and ...
    (microsoft.public.sqlserver.dts)
  • Script Controlled Dynamic Task Execution
    ... Transformation Tasks into my SQL Server database. ... need to execute one transformation on a text file, ... I have a script that wants to take complete control of the ... Package as far as source connections and task executions, ...
    (microsoft.public.sqlserver.dts)

Loading