“[unixODBC] [Gerenciador de driver] Nome da fonte de dados não encontrado e nenhum driver padrão especificado” ao se conectar ao OracleDB usando ODBC

5

Eu estou tentando fazer uma conexão odbc com um oracle db do linux. Quando eu faço login como root, funciona. Meu perfil de raiz é como abaixo:

more ~/.profile
export ODBCINI=/etc/unixODBC/odbc.ini
export ODBCSYSINI=/etc/unixODBC

No entanto, quando eu faço login como usuário comum, não consigo fazer conexões odbc. Eu recebo este erro:

[RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data source name not found, and no default driver specified

Não tenho certeza qual é o problema aqui, mas achei que poderia tornar o perfil de raiz disponível para outros usuários e que isso poderia resolver meu problema. Como você apresenta o perfil de raiz para todos os outros usuários? Alguma idéia do que pode estar acontecendo aqui?

Informação adicional:

este é o meu arquivo tnsnames.ora:

Data =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (LOAD_BALANCE = off)
      (FAILOVER = ON)
      (ADDRESS = (PROTOCOL = TCP)(HOST = server1.example.com )(PORT = 1521))
    )
    (CONNECT_DATA =
      (service_name = Data)
    )
  )

isto é o que odbc.ini:

[Data]
Driver=Oracle
Description=Test
Trace=Yes
ServerName=//server1.example.com:1521/
Database=test

e isso é ondbcinst.ini

[Oracle]
Description = Oracle ODBC Connection
Driver = /opt/oclient/instantclient_12_1/libsqora.so.12.1
Setup =
FileUsage =
    
por user1471980 05.09.2014 / 15:50

2 respostas

2

Se você tiver um banco de dados para se conectar, faça o seguinte

export TWO_TASK = db_SID

você pode colocar isso em / etc / profile e seu trabalho será feito.

    
por 18.10.2014 / 14:59
3

Primeiro, certifique-se de que é um problema com as variáveis de ambiente.

Execute essas linhas manualmente antes de invocar o aplicativo. A aplicação deve ser invocada a partir da linha de comando ali mesmo.

export ODBCINI=/etc/unixODBC/odbc.ini
export ODBCSYSINI=/etc/unixODBC

Se isso funcionar, você poderá adicionar essas linhas ao arquivo /etc/profile do sistema. Forçar os usuários a fazer logoff e tentar novamente.

    
por 05.09.2014 / 15:54