ek-soft FAQ

ODBC und SQL

Manche Feldtypen wie z.B  nvarChar oder sql_variant wird von DIALit oder DataPump nicht unterstützt. Spalten mit diesen Typen sind somit unsichtbar!
Abhilfe mit cast() Befehl in dem SQL Statment nach varChar casten oder Feldtypen direkt nach varChar ändern.

Beispiel: select cast (Nr_ AS VARCHAR(100)) AS DEBNR, Name, Telefonnr_ from dbo.[Nordwind$Debitor]

Letzte Änderung am: 12.03.2020, 23:20 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Damit Sie mit ODBC-Datenbanken arbeiten können, müssen bestimmte Voraussetzungen erfüllt sein.

1) Sie benötigen einen ODBC-Treiber für Ihre Datenbank. Dazu benötigen Sie in manchen Fällen (z.B. SQL-Server) auch kostenpflichtige Client-Lizenzen.

2) Es muss damit eine Datenbankverbindung in der "Systemsteuerung-Verwaltung-Datenquellen (ODBC)" eingerichtet und getestet sein.

3) In Ihrer Datenbank müssen Sie Zugriff auf eine Tabelle oder View haben, in der sich alle Felder die Sie benötigen, befinden. Damit auch Anrufer gefunden werden können, benötigen Sie ausserdem bis zu 4 Spalten mit den Rufnummern ohne Leer- und Sonderzeichen (Bsp. 07111234567).

Das Öffnen einer Originalmaske in einer Kundenapplikation ist damit noch nicht gegeben. Dazu kann ggf. die DDE oder COM-Schnittstelle benutzt werden (sofern die Kundenapplikation dies unterstützt). Andere Schnittstellen auf Anfrage bzw. als Projekt.

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Ja, das geht:

Sie markieren einen Bereich in Ihrer Excel Tabelle (in erster Zeile sollten natürlci die Feldnamen stehen), dann gehen Sie auf „EINFÜGEN“ , „NAMEN“ , „DEFINIEREN“ und benennen diesen Bereich z.b. Kontakte. Alles abspeichern und einen neue ODBC-Datenquelle in Systemsteuerung->Verwaltung->Datenquellen definieren.
Danach können Sie diese Tabelle in DIALit über ODBC einbinden. Große Dateien sind aber etwas langsam.

Tipp: DataPump kann direkt von XLS oder CSV in eine DIALit Telefonbuch importieren.

 

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Generell empfehlen wir immer nur lesend zuzugreifen. Wenn man z.B. in einer verknüpften Tabelle einen Schlüsselwert unbeabsichtigt verändert, können unvorhersehbare Folgen eintreten. Lesen Sie dazu auch die Hinweise im Handbuch.

Damit Sie in ihrer angebundene ODBC Quelle auch Daten verändern können, müssen mehrere Voraussetzungen erfüllt sein:

1) Schreib-Rechte auf die angebundene Datei (wenn Desktop Datenbank wie Access oder foxpro, bei SQL-Servereinen User mit entsprechenden Rechten). Hinweis: SQL-Views sind in der Regel immer schreibgeschützt!

2) In „Systensteuerung->Verwaltung->Datenquellen“ darf z.B. bei einem Access-Alias unter Optionen der Haken „Schreibgeschützt“ nicht ausgewählt sein. Dies sieht bei anderen Treibern evtl. anders aus.

3) In der ODBC Konfiguration von DIALit muss unter „Einstellungen->Konfiguration->ODBC->Einrichten Quelle1“ der Haken „nur Lesen“ abgewählt und ein Haken „Hinzufügen“ und/oder „Löschen“ ausgewählt sein.

4) Das Abfrageergebnis bei Auswahl der Daten muss editierbar sein, meistens ist dies erst der Fall, wenn man eine exakte Suche durchgeführt hat. Dazu muss beim Suchen in DIALit der Haken „exakte Suche“ ausgewählt worden sein und dann natürlcih auch exakt Suchen (vollen Suchbegriff eingeben und auf Groß/klein achten).

Ist dies alles gegeben, müsste man über Doppelklick auf einen ODBC Eintrag (z.B. auf Name) sich das Detailfenster zum Editieren öffnen lassen.

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
1 Person finden diesen Beitrag hilfreich.


Bei MaxDB muss man den User und das Passwort immer in GROSSBUCHSTABEN angeben, auch wenn in MaxDB diese explizit kleingeschrieben wurden.

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
3 Personen finden diesen Beitrag hilfreich.


Evtl. werden als Feldtypen im ODBC-Profil (TYP_Feld1 – TYP_Feldn) von DIALit lauter Memofelder gespeichert. Das passiert z.B. bei Access.mdb mit Textfeldern und 255 Zeichen Länge. Ändern Sie die Länge der Felder in der Access.mdb auf z.B. 100 und speichern Sie danach in DIALit das ODBC-Profil erneut ab. Nach Feldtypen „Memo“ kann nicht gesucht werden. Ebenso wird der Feldytyp nvarchar nicht unterstützt.

Update: Ab DIALit 4.0 wird keine BDE mehr benutzt, somit geht auch der Feldtyp nvarchar.

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Vista/Win7/Win8 – 64 liefert standardmäßig nur einen 64 Bit Treiber für SQL-Server mit aus. Für andere gibt es noch keine 64 Bit Treiber.

Starten Sie deshalb die 32 bit ODBC Konfiguration C:\Windows\SysWOW64\odbcad32.exe

Dort finden Sie alle 32-bit Treiber und können diese wie gewohnt einrichten und unter DIALit benutzen.

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Hier ein Beispiel eine MS-SQL Server mit einer CRM 3.0 Datenbank. Das convert der nvarchar (cast) kann ab DIALit 4.0 entfallen.

USE [DB…]
GO
SET ANSI_NULLS
ON
GO
SET QUOTED_IDENTIFIER
ON
GO
ALTER view [dbo].[PSO_V_Contact]
As
select
convert(varchar(50), dbo.FilteredContact.ContactId) ContactId,

convert(varchar(100), dbo.FilteredContact.EMailAddress1) EMailAddress1,

convert(varchar(100), dbo.FilteredContact.EMailAddress2)EMailAdress2,

convert(varchar(50), dbo.FilteredContact.Fax) Fax,

convert(varchar(50), dbo.FilteredContact.FirstName) FirstName,

convert(varchar(160), dbo.FilteredContact.FullName) FullName,

convert(varchar(50), dbo.FilteredContact.LastName) LastName,

convert(varchar(50), replace(replace(replace(replace(replace(replace(dbo.FilteredContact.MobilePhone, ‚(‚, ), ‚)‘, ), ‚+‘, ’00‘), ‚-‚, ), ‚/‘, ), ‚ ‚, )) MobilePhone,

convert(varchar(50), replace(replace(replace(replace(replace(replace(dbo.FilteredContact.Telephone1, ‚(‚, ), ‚)‘, ), ‚+‘, ’00‘), ‚-‚, ), ‚/‘, ), ‚ ‚, )) Telephone1
from dbo.FilteredContact

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Unter Vista/Win7/Win8 – 64 wird nur standardmäßig ein 64 bit Treiber ausgeliefert (SQL-Server). Für Access und andere stehen keine 64 bit Treiber zur Verfügung.

Starten Sie deshalb die 32 bit Konfiguration von ODBC mit c:\windows\syswow64\odbcad32.exe

Dort finden Sie alle 32-bit Treiber, die Sie in gewohnter Weise einrichten und in DIALit benutzen können.

 

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Das Anruffenster hat 3 Zeilen.

Fest in der ersten Zeile steht immer das Feld, welches Sie als „Journalname“ definiert haben. Dies kann man nicht weiter beeinflussen. Dann können Sie noch ein 2. und 3. Feld definieren, welches in er ersten Zeile, mit Leerstellen getrennt, angezeigt wird.

Für die zweite Zeile können Sie 2 Felder definieren

Für die dritte Zeile können Sie 3 Felder definieren

Die Definition erfolgt unter Einstellungen-Konfiguration-ODBC-Einrichten Quelle1 (rechts unten Anruffenster…) in DIALit.

Wurden keine speziellen Felder definiert, wird die Reihenfolge der konfigurierten Felder genommen. Als erstes steht trotzdem immer der „Journalname“

 

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Ja, das geht in DIALit über Einstellungen-Konfiguration-ODBC.

Wichtig ist, dass Sie dort den Haken CursorLib=Driver aktiviert haben (ab DIALit 4.1.0.17)!

Voraussetzung: Installierter und konfigurierter ODBC Treiber für die MySQL Datenbank.

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Ja, das geht in DIALit über Einstellungen-Konfiguration-ODBC.

Wichtig ist, dass Sie dort den Haken CursorLib=Driver aktiviert haben (ab DIALit 4.1.0.17)!

Voraussetzung: Installierter und konfigurierter ODBC Treiber für die Sybase Datenbank je Client oder zentral mit DataPump von ek-soft.

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Ja, das geht ab Version 4.1.0.22. Darin kann man an Stelle einer festen Tabelle oder View einen eigenen SQL Select Befehl eingeben, um damit z.B. auf Inhalte mehrerer verknüpfter Tabellen zuzugreifen, Feldnamen zu ändern oder Feldtypen zu casten.

Alternativ: Mit DataPump kann man auf eine ODBC Quelle ebenfalls mit eigenen SQL Statements zugreifen. Dabei erfolgt ein automatisierter Import (z.B. einmal am Tag) in ein DIALit internes Telefonbuch (JServer oder geshart). Dies hat den Vorteil, dass nicht jeder Client eine eingerichtete ODBC Quelle und Zugang zur Datenbank benötigt.

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


In diesem Dokument sind Vorgehenshinweise https://ek-soft.de/download/fehlersuche_ODBC.pdf

 

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
0 Personen finden diesen Beitrag hilfreich.


Sie können das CSV in Excel öffnen und dann als dBase abspeichern um dieses als Quelle im Quick Import zu verwenden. Neuere Excel Version lassen das Speichern als dBase nicht mehr zu, daher kann auch wie folgt vorgegangen werden.

Entweder Sie erzeugen einen ODBC Alias der auf das Textfile zeigt und verwenden dann diesen als Quelle für den DIALit Quick Import, oder Sie importieren die Daten zuerst in ein „Dummy“ Telefonbuch (TurboDB – z.B. phone5.dat welches Sie vorher im Quick Import als neues lokales Telefonbuch erzeugt haben) um dieses dann als Quelle einfach im DIALit Quick Import Wizard zu verwenden.

Für sich ständig wiederholende Importaufgeben kann der DataPump verwendet werden. Dieser kann direkt aus CSV oder XLS automatisch importieren.

Letzte Änderung am: 11.10.2014, 10:34 Uhr

Bitte klicken Sie hier, wenn Ihnen weitergeholfen wurde.
3 Personen finden diesen Beitrag hilfreich.


Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Ihren Besuch stimmen Sie dem zu.