DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Andreas Rauch Artikel Drucken
        
Probleme bei der Migration von Access auf SQL

Vielleicht stehen Sie gerade vor der Entscheidung statt Access einen SQL Server einzusetzten. Und vielleicht haben Sie auch schon bemerkt, dass einige der Access Abfragen in SQL nicht mehr funktionieren, obwohl sie in Access ihre Dienste taten. Ich kann SIe beruhigen. Sie müssen keine ServicePack installieren oder dergeleichen. Access und T-SQL benutzen in manchen Dingen verschiedene Befehle. Einge stelle ich Ihnen hier vor:

 

Autowerte

In Access können Autowerte in einem Menü angeben werden um so einen eindeutigen Bezeichner für den Datensatz zu haben. Unter MS SQL Server müssen sie die Checkbox IDENTITY anschalten. Vorsicht! Autowert und Identity verhalten sich verschieden. Der Identity Wert wird unter SQL erst nach dem Speichern gesetzt.


Wildcards

Innerhalb Access konnten Sie für Wildcards mit * und ? setzten. Dabei stand * für einen beliebige Anzahl an Zeichen während ? für genau ein Zeichen stand. Unter T-SQL verwendet man anstatt "*" nun "%" und statt "?" "_".

 

Stringverkettung

Möchten Sie in Access Strings miteinander verketten, so können Sie das mit "&" tun. In T_SQL sieht die Sache schon wieder anders aus. Hier verwendet man "+". Aber vorsicht! Aufpassen, daß sie keine Zahlenwerte verknüpfen wollen. Denn diese würden addiert werde.


Zeichenketten

Auch hier stolpern Entwickler immer wieder. In Access werden Abfragebedingungen mit "" eingegrenzt.

Select * from Authors where bedingung like 'bed1'    statt

Select * from Authors where bedingung like "bed1"

In T-SQL müssen sie die Bedingung mit 'bed1' eingrenzen.


DISTINCTROW

Um doppelte Datensätze auszufiltern verwendet man in Access distinctrow. In T-SQl ist dieser Befehl unbekannt. Hier verwendet man den Befehl distinct.

Select distinct * from authors


TRIM

Mittels TRIM wird unter Access Leerstellen aus einem String entfernt. In T-SQL ist die UNterdrückung von Leerstellen mit den Funktionen RTRIM und LTRIM bereitgestellt.

LTRIM entfernt die linken Leerstellen, also die Leerstellen am Anfang des Strings.
RTRIM entfernt die rechten Leerstellen, also die Leerstellen am Ende des Strings.

 

MID

Die Access Funktion MID um nach bestimmten Zeichen in Strings zu suchen, gibts natürlcih in T-SQL wie nicht anders zu erwarten nicht. Verwenden hier den Befehl

SUBSTRING(expression, start, length).


IIF

Vielleicht kennen sie in Access oder VB den Befehl IIF. Der dient eigentlich dazu eine einfache If then else Anweisung abzukürzen. T-SQL kennt diese Anweisung so nicht. Also umdenken. Verwenden Sie dazu CASE:

CASE WHEN Bedingung = "bed1"
THEN 'interessant'
ELSE 'nicht interessant'
END


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 20.04.2001
  Gültig bis: 20.05.2001
15 Ratings
Bewertung: 88,0%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG