[gelöst] Kontakte mittels SQL über ODBC auslesen

21. August 2008 17:17

Hallo,
ich bin dabei mittels c# ein Programm zu erstellen, welches mir die kompletten Kontakte aus Microsoft Navsion Dynamics ausliest.

Mein Code sieht dabei wie folgt aus:

Code:
public void ReadKontaktNavision()
        {
           
            string strSQLKontakt = "Select * FROM KONTAKT;";

            try
            {
                DataSet tempNavisionDataSet = new DataSet();

                OdbcCommand SQLCommand = new OdbcCommand(strSQLKontakt, NavisionConnection);(
                OdbcDataAdapter NavDataAdapter = new OdbcDataAdapter(SQLCommand);
// NavisionKOntakt ist von Typ DataTable
                NavDataAdapter.Fill(NavisionKontakt);
}
....


ich bekomme immer einen leeren DataAdapter (mit dem Wert "null") zurück. SOmit meine Frage - ist mein SQL Befehl falsch, lese ich falsch aus.
Woher weiß ich, dass ich meinen Tabellennamen "Kontakt" richtig geschrieben habe, wo kann ich das kontrollieren?

Würde mich über Rückmeldung sehr freuen.

Gruß
Sebastian
Zuletzt geändert von SierraKilo am 28. August 2008 09:23, insgesamt 1-mal geändert.

Re: Kontakte mittels SQL über ODBC auslesen

22. August 2008 10:33

Hallo,

hast du dir schon die Datenbank genau angesehen? zeig dir mal die Tabellen an den die Tabellen in Navision heißenen Mandant$Kontakt wenn ich mich recht erinnere!
Auf jedenfall steht bei nicht mandanten übergreifenden Tabllen der Mandantenname vor dem Tabellennamen!!

LG

Re: Kontakte mittels SQL über ODBC auslesen

27. August 2008 17:03

Hallo,

der SQL Server speichert muss das Mandanten Konzept ja irgendwie mit abbilden, also hat man bei jeder Tabelle den Namen der Mandanten vorangestellt und dannb $Tabellenname (auf englisch) .In deinen Fall würde es dann lauten .....From [dbo].[Mandantenname$Contact].

Aber warum den langsamen ODBC verwenden ?! Schau dir mal den System.Data.SqlClient an.

Re: Kontakte mittels SQL über ODBC auslesen

28. August 2008 08:58

Vielen Dank für die Antwort. Beim SQL Server könnte ich ohne größere Probleme ja ins Managment Studio reinschauen und mittels Trial und Error ausprobieren. Bei einer Nativen Lösung ist das leider nicht so einfach.
Habe das ganze jetzt mit dem DataSourceName angesprochen und die Tabelle "Kontakt" einfach ganz normal ohne Mandanten angesprochen und es funktioniert dennoch vielen Dank