This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
I have scheduled a workflow to load data from a SQL data source into an excel output. Running from Alteryx it works fine, but the scheduled version fails because it cannot locate the database. I use Aliases to point to my databases and I use the UserAlias.xml file to define my databases consistently. The error is "Unable to translate alias aka:<Databasename>"
Is there any reason for the scheduled version of the package not to be able to see the alias database?
This is how my database is defined:
</Alias> <Alias name="AdventureWorks2012"> <Connection>odb:Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=AdventureWorks2012;Data Source=.\MSSQLSERVER2012;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=.;Use Encryption for Data=False;Tag with column collation when possible=False</Connection> <Password /> </Alias>
I'm going to hazard a guess here and say that it is because this is a User Defined Alias and it is sitting in your user directory... Is the scheduler set to Run As (System Settings > Run As) you? If not, can you put that UserAlias.xml into the user that the scheduler is set to Run As?
Thanks Kane for your response. When I am adding my details to the (System Settings > Run As) it all work with the scheduler. I am now wondering what user account is set to run the scheduler in my machine and why is it not me? Any idea?
I'm going to hazard another guess along with @KaneG that you are running an instance of Alteryx Designer with the Desktop Automation add-on (as opposed to the Server product)?
The reason for the question is that Desktop Automation is a "part" of the Server product and (with either product) will run the scheduling process as a Windows Service. (You can see it under your Administrative Tools > Services as "Alteryx Service".) As with many Windows applications that have a service, this service runs using a "generic" logon (aka, a Local System account) to allow it to function with multiple users utilizing the service (since it is really part of the server product).
So if you look at the properties of the Alteryx Service in Windows Services, you will see that it has the Logon Properties of using a Local System account. This logon has rights within Windows just like any other logon, and typicallys does NOT rights to access databases (or even shared folders within your network that your personal logon may have rights to). It sounds like that is why your process failed.
By setting the Run As properties in the Alteryx System Settings to yourlogon as suggested by Kane, it will now have access to anything that your logon has. (You could have also done this at the "lowest" Windows level and changed it in the properties for the Alteryx Service.)
As a note if you or your company were to expand to using the Alteryx Server product, like I said, this is how the Server is installed by default. In this setup (where many users might access it), one way that some IT organizations within companies deal with this is by setting the service to run under a "god account" (that has rights to everything in the network). This can have its own set of problems, so with Analytic Apps, Alteryx allows you to logon with your own user settings at run time (if configured that way). This is something to keep in mind if workflows are developed by various users with different access to shared folders within the network...whatever is set as the "Run As" user needs rights to what ever resources are being utilized within the workflow.
Maybe this was too much information for your question, but figured it might help with the underlying context of how Alteryx runs. :smileyembarrassed: Hope this helps clarify.