none
Access als Frontend und SQL Server 2005 express als Backend RRS feed

  • Frage

  • Hallo,

    ich bin gerade dabei die Daten von einer Access Datenbank auf einen SQL Server zu transferieren.

    Die Tabellen sind in Access 2000 via ODBC Client an der Sql Server verlinkt.

    Funktioniert auch soweit ganz gut.

    Das Problem ist nur, das ich in Access Null und leer Strings verwenden konnte.

    Das scheint mit einem SQL Server nicht zu funktionieren.

    Habe die Spalten im Management Studio so konfiguriert das Null erlaubt ist. Aber wo kann man einstellen das auch leer Strings verwendet werden können.

    Wenn ich da keine Lösung finde. Müßte ich den ganzen Code in Access anpassen.

    Danke für eure Hilfe.

     

    Gruß Sascha

    Donnerstag, 9. Dezember 2010 16:00

Antworten

  • Hallo Sfire83
     
    Das Problem dürfte eher von Access statt dem SQL Server kommen. Access hat die Eigenschaft, dass es automatisch Leere Zeichenfolgen von der Oberfläche (Formulare, Tabellen, Abfragen) in Null umwandelt, wenn es den Datensatz zurückschreibt. In Access-Datenbanken kannst Du dieses Verhalten unterdürcken, indem du eben einstellst, dass Leere Zeichenfolgen erlaubt sind. Dann macht Access das nicht mehr. �?ber ODBC geht das nicht. Das ist keine Einstellung, die Du im SQL Server anpassen kannst. Du musst das also auf der Seite des Clients machen.
     
    Ich denke, es ist das beste, die Anwendung anzupassen, dass diese keinen Unterschied zwischen NULL und '' in den Datenfeldern macht. Sonst wirst Du immer wieder auf die gleichen Probleme stossen, sobald Du die Anwendung erweiterst oder sonst jemand auf die Idee kommt, die gleichen Tabellen in eine neue Access Frontend einzuginden und dort "anzuschauen" (ohne diese wissentlich zu ändern).
     
    Gruss
    Henry

    Hallo,

    ich bin gerade dabei die Daten von einer Access Datenbank auf einen SQL Server zu transferieren.

    Die Tabellen sind in Access 2000 via ODBC Client an der Sql Server verlinkt.

    Funktioniert auch soweit ganz gut.

    Das Problem ist nur, das ich in Access Null und leer Strings verwenden konnte.

    Das scheint mit einem SQL Server nicht zu funktionieren.

    Habe die Spalten im Management Studio so konfiguriert das Null erlaubt ist. Aber wo kann man einstellen das auch leer Strings verwendet werden können.

    Wenn ich da keine Lösung finde. Mü�?te ich den ganzen Code in Access anpassen.

    Danke für eure Hilfe.

     

    Gru�? Sascha

    • Als Antwort vorgeschlagen Elmar BoyeEditor Freitag, 10. Dezember 2010 09:43
    • Als Antwort markiert Sfire83 Mittwoch, 15. Dezember 2010 16:18
    Freitag, 10. Dezember 2010 04:53

Alle Antworten

  • Hallo Sascha,

    kannst Du vielleicht DEFAULTs einsetzen?

    use tempdb
    go
    create table t1(col1 int null, col2 varchar(55), col3 varchar(55) default (''))
    go
    insert into t1(col2) values
    ('value_for_col2')
    go
    select * from t1
    go
    drop table t1
    go
    

    Gruß Yury
    Donnerstag, 9. Dezember 2010 18:01
  • Hallo Sfire83
     
    Das Problem dürfte eher von Access statt dem SQL Server kommen. Access hat die Eigenschaft, dass es automatisch Leere Zeichenfolgen von der Oberfläche (Formulare, Tabellen, Abfragen) in Null umwandelt, wenn es den Datensatz zurückschreibt. In Access-Datenbanken kannst Du dieses Verhalten unterdürcken, indem du eben einstellst, dass Leere Zeichenfolgen erlaubt sind. Dann macht Access das nicht mehr. �?ber ODBC geht das nicht. Das ist keine Einstellung, die Du im SQL Server anpassen kannst. Du musst das also auf der Seite des Clients machen.
     
    Ich denke, es ist das beste, die Anwendung anzupassen, dass diese keinen Unterschied zwischen NULL und '' in den Datenfeldern macht. Sonst wirst Du immer wieder auf die gleichen Probleme stossen, sobald Du die Anwendung erweiterst oder sonst jemand auf die Idee kommt, die gleichen Tabellen in eine neue Access Frontend einzuginden und dort "anzuschauen" (ohne diese wissentlich zu ändern).
     
    Gruss
    Henry

    Hallo,

    ich bin gerade dabei die Daten von einer Access Datenbank auf einen SQL Server zu transferieren.

    Die Tabellen sind in Access 2000 via ODBC Client an der Sql Server verlinkt.

    Funktioniert auch soweit ganz gut.

    Das Problem ist nur, das ich in Access Null und leer Strings verwenden konnte.

    Das scheint mit einem SQL Server nicht zu funktionieren.

    Habe die Spalten im Management Studio so konfiguriert das Null erlaubt ist. Aber wo kann man einstellen das auch leer Strings verwendet werden können.

    Wenn ich da keine Lösung finde. Mü�?te ich den ganzen Code in Access anpassen.

    Danke für eure Hilfe.

     

    Gru�? Sascha

    • Als Antwort vorgeschlagen Elmar BoyeEditor Freitag, 10. Dezember 2010 09:43
    • Als Antwort markiert Sfire83 Mittwoch, 15. Dezember 2010 16:18
    Freitag, 10. Dezember 2010 04:53