none
Script de logon diferente - Acessar Oracle RRS feed

  • Pergunta

  • Bom dia a todos.

    Gostaria de solicitar a ajuda dos Experts para me dar uma luz para resolver um probleminha que é o seguinte: Estamos criando aqui na empresa um sistema para acompanhamento de horas trabalhadas e serviços realizados pelos usuários e estamos usando banco de dados oracle. minha pergunta é :

    Existe alguma forma de criar um script de logon que quando o usuário ligar a maquina o script seja executado , acesse o banco oracle, verifique se ele (o usuário) preencheu as informações do dia anterior (pode ser um flag, campo booleano, etc..), e se ele preencheu libera o acesso ao computador se ele não preencheu mostra uma mensagem para ele pedir liberação ao seu chefe.

    Desde já agradeço qualquer ajuda.


    quinta-feira, 26 de julho de 2012 14:36

Todas as Respostas

  • Sérgio,

    Acredito que seja possivel.

    Utilizando ADO você consegue pelo .VBS acessar bases de dados.

    Você só tem que conscientizar dos possiveis problemas: Estação que não tem o client oracle, quando o micro não conseguir acessar a base de dados qual ação será tomada, etc.

    How to retrieve data from an Oracle database with VBscript 

    michaelkizer.com/Blog/tabid/117/articleType/ArticleView/articleId/6/How-to-retrieve-data-from-an-Oracle-database-with-VBscript.aspx


    Fábio de Paula Junior

    quinta-feira, 26 de julho de 2012 16:55
    Moderador
  • Sérgio,

    Acredito que seja possivel.

    Utilizando ADO você consegue pelo .VBS acessar bases de dados.

    Você só tem que conscientizar dos possiveis problemas: Estação que não tem o client oracle, quando o micro não conseguir acessar a base de dados qual ação será tomada, etc.

    How to retrieve data from an Oracle database with VBscript 

    michaelkizer.com/Blog/tabid/117/articleType/ArticleView/articleId/6/How-to-retrieve-data-from-an-Oracle-database-with-VBscript.aspx


    Fábio de Paula Junior

    Fábio, obrigao. vou dar uma olhada no link.

    quinta-feira, 26 de julho de 2012 18:08
  • Sérgio,

    Acredito que seja possivel.

    Utilizando ADO você consegue pelo .VBS acessar bases de dados.

    Você só tem que conscientizar dos possiveis problemas: Estação que não tem o client oracle, quando o micro não conseguir acessar a base de dados qual ação será tomada, etc.

    How to retrieve data from an Oracle database with VBscript 

    michaelkizer.com/Blog/tabid/117/articleType/ArticleView/articleId/6/How-to-retrieve-data-from-an-Oracle-database-with-VBscript.aspx


    Fábio de Paula Junior

    Fábio, obrigao. vou dar uma olhada no link.


    Fábio, Bom dia.

    obrigado mais uma vez pelo link. dá tranquilamente para fazer algumas modificaçãoes para o que eu quero.

    agora estou com outro problema:

    quando mando executar o script ele dá erro de conexão. diz "provedor não encontrado. pode ser que ele não esteja instalado corretamente".

    já modifiquei utilizando várias strings de conexão diferentes e nada. tenho o client oracle instalado na maquina e mesmo assim ele continua dando erro.

    vc faz alguma idéia do que possa ser?

    sexta-feira, 27 de julho de 2012 14:25
  • Sérgio,

    Para montar uma string correta a dica é a seguinte:

    1. Crie um arquivo .txt e renomeie para .udl , exemplo: teste.udl
    2. Dê dois clicks neste .udl, vai abrir um assistente de conexão.
    3. Insira os dados da sua conexão
    4. Depois clique no botão "Testar conexão"
    5. Se funcionou, dê o OK no assitente.
    6. Abra o arquivo .udl no notepad, você vai ver a string correta.

    Fábio de Paula Junior

    sexta-feira, 27 de julho de 2012 15:57
    Moderador
  • Desculpem a falta de noticias.

    Fábio, fiz o que você me disse, testei a conexão copiei a string, mas não consigo me conectar ao oracle pelo vbscript. já tentei diversas cadeias de conexão e dá sempre o mesmo erro "provedor não encontrado. É possível que ele não esteja instalado corretamente.". tenho o cliente oracle instalado na maquina, consigo acessar o banco através de outras aplicações, mas pelo vbscript não vai nem a pau. meu oracle é o 10.2.0.  você teria alguma sugestão?

    terça-feira, 31 de julho de 2012 14:29
  • Sérgio,

    Poste seu código.

    E o teste de conexão pelo arquivo .udl, funcionou?


    Fábio de Paula Junior

    quarta-feira, 1 de agosto de 2012 17:34
    Moderador
  • olá Fábio. sim o teste de conexão funciona. se eu utilizar o excel e fazer uma conexão com o oracle consigo sem problemas, o mesmo acontece com outras aplicações. porem com o script não funfa. segue o código abaixo:

    Option Explicit

    '* Define Constants / Variables
    Const GetUserSQL = "SELECT login as nome, password as senha FROM sgn.sysusuario"    'SQL command to retrieve date and time from server
    Dim connectionString: connectionString= "Provider=MSDAORA;Data Source=servidor; User ID=user;Password=password;"

    '* outras strings que tentei
    'DRIVER={Microsoft ODBC for Oracle};SERVER=oracle_server;User Id=user;Password=password
    'Provider=MSDAORA.1;Data Source=servidor;User ID=user;Password=password;Unicode=True;

    Dim sUser
    Dim sPwd
    Dim sCmd
    Dim iRC1
    Dim iRC2
    Dim strDom
    Dim strUser
    Dim objUser


    '* Create the connection
    Dim connection: Set connection = WScript.CreateObject("ADODB.Connection")
    Dim rows: Set rows = WScript.CreateObject("ADODB.Recordset")


    '* Create objects
    Dim WshShell
    Set WshShell = WScript.CreateObject("WScript.Shell")

    Dim objNetwork
    set objNetwork= WScript.CreateObject("WScript.Network")

    Dim fso
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")

    '* Create log file
    Dim LogFile
    Set LogFile = fso.CreateTextFile("DBGetUser.log", true)
    LogFile.WriteLine("================================================================================")
    LogFile.WriteLine("|   DBGetUser.vbs Log                                                      |")
    LogFile.WriteLine("================================================================================")
    LogFile.WriteBlankLines 1
    LogFile.WriteLine("Current computer date and time: " & Now)
    LogFile.WriteBlankLines 1

    '* Get Domain and User
    strDom = objNetwork.UserDomain
    strUser = objNetwork.UserName
    Set objUser = GetObject("WinNT://" & strDom & "/" & strUser &  ",user")

    '* Mensagem
    msgbox"Até aqui as variáveis foram executadas sem problemas",vbInformation,"Exemplo de tela de mensagem"


    '* Open connection
    connection.Open connectionString

    '* Mensagem
    msgbox"CONEXÃO ABERTA",vbInformation,"Exemplo de tela de mensagem"

    '* Execute SQL
    Set rows = objConn.Execute(GetUserSQL)

    While Not rows.EOF
        '* Populate variables with results from the query
     sUser=rows.Fields("nome").value
     sPwd=rows.Fields("senha").value
      if sUser=strUser then
      LogFile.WriteLine("A senha do Usuário " & sUser & " é: " & sPwd)
      LogFile.WriteBlankLines 1
      End if
     
        rows.MoveNext
    Wend

    '* Set the local computer's date and time

    LogFile.WriteBlankLines 1
    LogFile.WriteLine("================================================================================")

    '* Close log file
    LogFile.Close

    '* Close connection and clean up objects
    connection.Close
    Set rows = Nothing
    Set connection = Nothing
    Set WshShell = Nothing
    Set fso = Nothing

    quinta-feira, 2 de agosto de 2012 14:56
  • Sérgio,

    Eu não tenho o Oracle pra fazer o teste, talvez daqui a 10 dias eu tenha.

    Mas só checando:

    1)através do .UDL a conexão funcionou?

    2)Em qual linha acontece o erro? não passe o número da linha me passe o que está escrito na linha.


    Fábio de Paula Junior

    terça-feira, 7 de agosto de 2012 21:33
    Moderador
  • Sérgio, conseguiste fazer o teste?

    se puder mandar as informações que o fabio pediu ficaria mais facil ajudar.


    Ajudei? Marca como útil.
    Visite meu blog: HowToServer
    Quer conversar sobre Powershell?
    entre nos grupos, no Facebook e noLinkedin Cadastre-se também na mailing list Powershell Brasil Quer Aprender Powershell?
    Meus Artigos na TechNet Wiki

    segunda-feira, 29 de outubro de 2012 14:43
  • Sérgio,

    Conseguiu desenvolver o script?


    Fábio de Paula Junior

    sexta-feira, 21 de dezembro de 2012 11:46
    Moderador