Ermittlung der Organisation

6. September 2011 15:52

Hi,

ich greife mittels ODBC direkt auf die Datenbank-View 'FilteredContact' und 'FilteredAccount' zu. Damit ich die CRM Webseite mit dem Kontakt oder der Firma öffnen kann, benötige ich die Organisation.
Bis CRM V4 habe ich von dem DB-Namen einfach die Endung '_MSCRM' entfernt. Mit CRM 2011 ist dies nicht zwingend so, d.h. dass der Organisationsname nicht zwingend im DB-Namen enthalten ist.

Kann ich irgendwie bei der ODBC Abfrage der Kontakte deren Organisation ermitteln?
Vielen Dank
Christian

Re: Ermittlung der Organisation

7. September 2011 07:21

Hallo Christian,

an der Logik des Datenbanknamens hat sich zwischen CRM 4 und 2011 nichts geändert. Wenn du das CRM neu installierst oder über den Bereeitstellungsmanager eine neue Organisation anlegst, wird in beiden Systemen der Organisationsnamen plus _MSCRM als Datenbankname verwendet.

Wenn du aber eine Organisation importierst, kann der DAtenbankname vom Organisationsnamen abweichen, und wie gesagt in beiden Systemen.

Wie du den Namen der DB per ODBC ermitteln kannst, kann ich dir aber leider auch nicht sagen, mit c# funktioniert das so:
Code:
public string getAssociatedDatabase(string organizationEntity)
{
  CrmDeploymentService oService = new CrmDeploymentService();
  oService.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

  RetrieveAllRequest oReq = new RetrieveAllRequest();
  oReq.EntityName = EntityName.Organization;
  RetrieveAllResponse resp = (RetrieveAllResponse)oService.Execute(oReq);

  string strDataBaseName = string.Empty;
  foreach (Organization item in resp.Entities)
  {
    if (item.FriendlyName.Equals(organizationEntity))
    {
      strDataBaseName = item.DatabaseName;
      break;
    }
  }
  return strDataBaseName;
}

Re: Ermittlung der Organisation

9. September 2011 13:47

Weiß nicht, ob ich die Frage richtig verstehe, aber den Organisationsnamen erhält man mittels:

SELECT Name FROM Organization

Re: Ermittlung der Organisation

9. September 2011 17:05

Hallo,

die Frage ist nicht, wie der Organisationsname im CRM lautet, sondern wie der DAtenbankname im SQL-Server für einen ORganisation ist.

Re: Ermittlung der Organisation

6. Dezember 2011 09:55

Ja, ich dachte die einfachste Lösung dürfte sein, kurz eine Verbindung zur MSCRM_CONFIG-DB aufzubauen. Allerdings muss das abgefragte Feld natürlich DatabaseName und nicht Name lauten.