7 Replies Latest reply: Sep 9, 2009 12:57 PM by vijay polsani RSS

    ORA-12514: TNS:listener does not currently know of service requested

    569109
      I'm currently trying to set up a reporting data source in VS2005 in a Reporting project. Now when I try to create a new report using my Oracle based data source I get the following:
      A connection cannot be made to the database.
      Set and test the connection string.
      ERROR [NA000] [Microsoft][ODBC driver for Oracle][Oracle]ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
      ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
      ERROR [01000] [Microsoft][ODBC Driver Manager] The driver doesn't support the version of ODBC behavior that the application requested (see SQLSetEnvAttr).

      I've installed the data tools for VS2005 as well as the 10g client.

      I can tsnping the database, as well as connect to it using the SQLPlus tool. I only seem to have an issue when connecting through VS2005.

      Anyone able to shed some light??

      Greg

      P.S. I'm using XP Pro.
        • 1. Re: ORA-12514: TNS:listener does not currently know of service requested
          580406
          Hi Greg,

          I am experiencing the same problem. I have found a lot of links in internet with
          different solutions but so far nothing works. Have you found a solution for this
          issue or a workaround?

          Josue
          • 2. Re: ORA-12514: TNS:listener does not currently know of service requested
            583990
            Check your tnsnames.ora file on the Reporting Server. Make sure you can tnsping the database. Then try creating (don't actually have to create one..) an ODBC connection to the database and "Test" the connect (cancel after testing).

            Hope that helps.

            Rob
            • 3. Re: ORA-12514: TNS:listener does not currently know of service requested
              580406
              Hi Rob,

              thanks a lot for your response. Actually I just solved the problem few days ago. As you mention, I checked what was going on with the tnsnames.ora file. I was able to ping the database, but the problem was a semicolon at the end of the environment variable TNS_ADMIN. I removed it and the problem was solved. So the advice is to take care about this little details when playing around with env. variables.

              And yes, I set up an ODBC connection... after removing the semicolon it started working..

              Joe.
              • 4. Re: ORA-12514: TNS:listener does not currently know of service requested
                584921
                I was facing the same problem when I was connecting to a production database through Toad8.0. I tried to use SID instead of SERVICE_NAME in the tnsnames.ora and get resolved. e.g.

                PRODB =
                (DESCRIPTION =
                (ADDRESS_LIST =
                (ADDRESS = (PROTOCOL = TCP)(HOST = host.xyz.COM)(PORT = 1521))
                )
                (CONNECT_DATA =
                (SID = abc)
                )
                )

                instead of

                PRODB =
                (DESCRIPTION =
                (ADDRESS_LIST =
                (ADDRESS = (PROTOCOL = TCP)(HOST = host.xyz.COM)(PORT = 1521))
                )
                (CONNECT_DATA =
                (SERVICE_NAME = abc)
                )
                )

                weired thing was that I could connect to the dev database without any issues, but production database was giving the problem, even though I was using the same settings.
                I believe this is to do with Oracle8 & previous identification (SID) technique. I have installed Oracle 10g and that might by default use SERVICE_NAME instead of SID; but my production database is probably Oracle8 or so. But dev database might be compatible with 10g.

                Anyway try above setting and this might solve yor problem also.

                Thanks
                Amit
                • 5. Re: ORA-12514: TNS:listener does not currently know of service requested
                  589303
                  Hi
                  I am experiencing the same problem
                  ORA-12514:TNS:Listener does not currently know of service requested in connect
                  . I have found a lot of links in internet with
                  different solutions but so far nothing works. Have you found a solution for this
                  issue or a workaround?
                  help me plz
                  • 6. Re: ORA-12514: TNS:listener does not currently know of service requested
                    594637
                    Hi,
                    When you create new DB.
                    1.
                    if you named the Global Database Name is: abc.oracle.com and SID is: abc.
                    In TNSNames you can use: SERVICE_NAME=abc.oracle.com or SID=abc
                    2.
                    if you named the Global Database Name is: abc and SID is: abc.
                    In TNSNames you must use: SID=abc

                    Thanks.
                    • 7. Re: ORA-12514: TNS:listener does not currently know of service requested
                      vijay polsani
                      My Environment: I have 11g installed on my laptop. so the client and the server are on the same machine WIN XP SP2.


                      The above mentioned trick works perfect as changing the name from SERVICE_NAME to SID. I tried updating the number of processes from 200 to 500 and the somehow the command 'ALTER SYSTEM SET processes=10000 SCOPE=SPFILE; ' changed the tnsnames.ora file as below.

                      Wrong:

                      POC =
                      (DESCRIPTION =
                      (ADDRESS = (PROTOCOL = TCP)(HOST = GUDDU)(PORT = 1521))
                      (CONNECT_DATA =
                      (SERVER = DEDICATED)
                      (SERVICE_NAME = POC)
                      )
                      )

                      I changed it back to:

                      POC =
                      (DESCRIPTION =
                      (ADDRESS = (PROTOCOL = TCP)(HOST = GUDDU)(PORT = 1521))
                      (CONNECT_DATA =
                      (SERVER = DEDICATED)
                      (SID = POC)
                      )
                      )

                      Now it works perfectly fine with the processes also bumped to 500