Posts Tagged asp.net

The ‘Microsoft.Jet.OLEDB.4.0′ provider is not registered on the local machine.

Estava aqui de volta da importação de dados através de ficheiros excel e deparei-me com este erro:

Este erro é provocado pelo facto de não existir uma versão do JET para sistemas 64 bits e eu estar a correr o Windows 7 64 bits.

A solução, consoante o tipo de aplicações que estamos a desenvolver (winforms, web) é:

  • compilar o projecto para ambientes x86, ou
  • Permitir que o IIS (Application Pool) corra aplicações em modo 32 bits (solução para o meu caso).

Como é que se configura a application pool? Fácil:

> Abrir o IIS > de seguida, Navegar até às “Applications Pools

> Clicar com o botão direito do rato em cima da application pool responsável por correr a aplicação em que estamos a trabalhar e escolher a opção “Advanced Settings“.

Por fim, colocar o “Enable 32-Bit Applications” a “True“.

Problema resolvido :)

Tags: , , , ,

IsNull em VB.NET

Estava aqui de volta de um site feito em ASP.NET (VB.NET) e estava-me a fazer falta o IsNull do C#.
Solução? Utilizar o “Is Nothing:)

Exemplo:

If (Not Request.QueryString("accao") Is Nothing) Then
   Response.Write(" A variavel 'accao' = " & Request.QueryString("accao"))
End If

Tags: ,

ASP.NET – Ler nome do Utilizador na Active Directory

Noutro dia precisei de ir ler o nome dos utilizadores na Active Directory.
Fica o resultado:

VB.NET
Imports System.DirectoryServices

Public Class teste
   Function GetLdapUserName(ByVal login As String) As String

    Dim oroot As DirectoryEntry = New DirectoryEntry("LDAP://servidor:porta/DC=xpto,DC=com", "user", "password")
    Dim osearcher As DirectorySearcher = New DirectorySearcher(oroot)
    Dim oresult As SearchResultCollection
    Dim result As SearchResult

    osearcher.Filter = "(&(cn=" + login + "))" ' filtro de procura
    osearcher.PropertiesToLoad.Add("displayName") ' propriedade a ler
    oresult = osearcher.FindAll()

    For Each result In oresult
       If Not result.GetDirectoryEntry.Properties("displayName").Value Is Nothing Then
          Return (result.GetDirectoryEntry.Properties("displayName").Value)
       End If
    Next

    Return "Não foi possivel obter o seu nome..."

 End Function
End Class

Outras propriedades que podem ser lidas na Active Directory:

  osearcher.PropertiesToLoad.Add("ou") ' organizational unit
  osearcher.PropertiesToLoad.Add("userPrincipalName") ' login name
  osearcher.PropertiesToLoad.Add("distinguishedName") ' distinguised name
  osearcher.PropertiesToLoad.Add("name") ' full name
  osearcher.PropertiesToLoad.Add("givenname") ' firstname
  osearcher.PropertiesToLoad.Add("sn") ' lastname
  osearcher.PropertiesToLoad.Add("mail") ' mail

Tags: , ,