3 Replies Latest reply on Feb 11, 2013 9:23 AM by Toby Erkson

    Server extracts and firewalls: Punching through?

    Toby Erkson

      From my admin maintenance report I have files that are producing errors and they all have the same issue:

      DataSourceException: Oracle database error 12154: ORA-12154: TNS:could not resolve the connect identifier specified

      Unable to connect to the server ""EDP1"". Check that the server is running and that you have access privileges to the requested database.

      Now, the user who has embedded their credentials in the workbook does have access permission.  They connect with their Desktop and pull data.  Their data source is local to them (it's at their site in Michigan).  They have published the workbook to our Tableau Server (at my site in Oregon) but when the scheduler runs it fails to create the extract and spits out the above error.  We have tried embedding the extract in the workbook AND publishing the extract to the server but we keep getting the same error.

       

      Could this be a firewall issue?  What are some ways to test this hypothisys out, maybe get a solution or work-around?

        • 1. Re: Server extracts and firewalls: Punching through?
          Dimitri.B

          Do these errors appear as results of extract refresh attempts or do you get them every time user looks at a view? From the error description it looks like the server machine cannot connect to the Oracle database that was specified in the connection by the publisher.

          If that database is available to the server machine and can be accessed by other applications on it but not Tableau Server, then the problem is most likely the environment variable - here is the how-to, just in case: http://kb.tableausoftware.com/articles/knowledgebase/oracle-connection

          1 of 1 people found this helpful
          • 2. Re: Server extracts and firewalls: Punching through?
            Toby Erkson

            Yeah, I used that KB article.  I did set the enviro. variable, added a TNSNAMES.ORA file (path matches variable), and reboot the machine.

             

            I'm waiting on author feedback about whether the db is available to the server (via Data Connection thru the server).  Oracle Client hasn't been installed on the server so that's my next step if things still fail.

            • 3. Re: Server extracts and firewalls: Punching through?
              Toby Erkson

              Okay, it works!  Whew!  Here's what I did:

              Setup

              Oracle Client isn't on our Tableau Server box but that's no big deal.  I manually created the directory C:\Oracle_Client\network\admin

              I then copied the necessary lines from my end user's TNSNAMES.ORA file into a text editor (I highly recommend Notepad++) and saved the file as TNSNAMES.ORA in the admin folder (names and addresses have been changed to protect the innocent):
              # Production EDP1 Database
              EDP1.world =
                (DESCRIPTION =
                  (ADDRESS_LIST =
                      (ADDRESS =
                        (COMMUNITY = tcp.world)
                        (PROTOCOL = TCP)
                        (Host = 99.999.9.99)
                        (Port = 1521)))
                  (CONNECT_DATA = (SID = EDP1)))

              Next, I updated the machine's PATH as described in the URL above (section "Set the TNS_Admin environment variable") and also rebooted the server.

               

              Accessing the Oracle database

              Users now open Tableau Desktop, Connect to Data, On a server, and select Oracle

              connect.jpg

              In the connection dialog window, "Step 1" would be 99.999.9.99:1521/EDP1.world.  If you were to click on the Advanced... button here's how you would enter in the info:

              Server Name:  99.999.9.99
              Service Name:  EDP1.world
              Port:  1521

              Click OK button.

               

              The other Steps are filled out as necessary; for my users they used a specific username and password.