Announcement

Collapse
No announcement yet.

Frontend für SQL Server 2005 Express Edition?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Frontend für SQL Server 2005 Express Edition?

    Hallo zusammen,

    ich bin neu in diesem Forum und habe gleich ne sehr grundlegende, für viele wahrscheinlich banale Frage:

    Ich habe den SQL Server 2005 Express Edition heruntergeladen und möchte nun ne Datenbankapplikation entwickeln. Der SQL-Server macht mir keine Probleme, für mich stellt sich aber die Frage, mit welchem Programmiertool ich rangehen muß, um ein Frontend zu entwickeln, mit dem ich Daten umfangreich ansehen und auch ändern kann. Ich dachte das geht u.a. mit Visual C# 2005 Express Edition, aber da kann man anscheinend nur einfachste SQL-Abfragen ausführen. Ich habe früher mal mit Access und VBA und mit embedded SQL gearbeitet. So was stell ich mir jetzt auch mit dem SQL-Server vor.
    Welche Tools brauche ich also?

    Vielen Dank.

    NewDeveloper

  • #2
    Hallo,

    Ich habe früher mal mit Access ... gearbeitet.
    der Unterschied zum MS SQL Server besteht darin, dass Microsoft ACCESS eine Desktopdatenbank für die Zielgruppe "Endanwender" ist. In ACCESS ist es "normal", dass der Anwender sowohl die Tabellenstruktur, die Erfassungsmasken und die Abfragen (Berichte) selbst erstellt. Daher sieht ACCESS entsprechend viele Assistenten (visuelle Benutzeroberfläche) vor.

    Der MS SQL Server wird als Client/Server-Anwendung im Normalfall nur auf dem Server ausgeführt, der Endanwender greift mit einem Programm (Client) auf die Daten zu, das ein Entwickler erstellt hat. Aus diesem Grund "fehlen" die von ACCESS gewohnten Möglichkeiten.

    Ich dachte das geht u.a. mit Visual C# 2005 Express Edition,...
    Das ist auch richtig. Nur muss man (als Entwickler) die Programmfunktionen und die Benutzeroberfläche für den Endanwender selbst schreiben - oder exakter formuliert, die Arbeitsabläufe der Geschäftsprozesse fest kodiert in der Benutzeroberfläche des entwickelten Programms hinterlegen.

    ...nur einfachste SQL-Abfragen ausführen.
    Mit der Visual C# 2005 Express Edition kann man jede vom SQL Server unterstützte SQL-Anweisung zum Server schicken. Bei einer SQL-Datenbank ist es jedoch üblicher, über gespeicherte Prozeduren (Stored Procedures) oder benutzerdefinierte Funktionen (UDF) die SQL-Anweisungen direkt auf dem Server zu speichern. Der Client ruft dann nur die Namen der gespeicherten Datenbankobjekte auf und nimmt vom SQL Server das Ergebnis entgegen.

    Comment


    • #3
      Hallo NewDeveloper,

      ab MS Access 2002 (XP) gibt es auch die Möglichkeit, sich mit einer MS SQL Server Datenbank verbinden zu lassen; es wird dann keine .mdb sondern eine .adp Datei.

      Dann kannst wieder die bekannte Entwicklungsumgebung nutzen.

      Raten würde ich aber nicht unbedingt dazu; Access hat weiterhin so seine Macken und in einer MultiUser-Umgebung wie Terminal-Server gibt es noch mehr zu beachten; die ADP kann immer nur mit einem User an eine DB angemeldet sein.

      Gruß, Olaf.
      Olaf Helper

      <Blog> <Xing>
      * cogito ergo sum * errare humanum est * quote erat demonstrandum *
      Wenn ich denke, ist das ein Fehler und das beweise ich täglich

      Comment


      • #4
        Hallo,

        im Fall von Microsoft ACCESS gibt es beim Zugriff auf eine MS SQL Server 2005-Datenbank einige Einschränkungen. Von Mary Chipman (Microsoft) gibt es dazu die folgende Aussage:

        "You will not be able to use any of the designers with SQLS 2005 databases, whether it's SQL Express or the Developer edition. IOW, you won't be able to create databases, tables, views or any other database objects from an ADP. The only support that is envisioned is that you will be able to connect an Access front-end to a SQLS 2005 back end if it is running in SQLS 2000 compatibility mode, so your forms, reports and other local Access objects should still run. There is no service pack or quick fix being planned as far as I know because of the amount of work it would entail. If you stop to think about it, it's pretty hard to see how accomodating new Yukon features like CLR assemblies and complex data types in the ADP designers could be achieved without a complete rewrite.
        That said, with Access 2003, I was able to connect up to an instance of SQL 2005 (not in 2000 compatibility mode) and work with data with SQL2000 compatible data types. I was also able to stick XML into an XML-typed (but not strongly-typed) column and have it work as expected.

        The bottom line here seems to be that ADPs aren't worth investing new work into today if you plan to go to SQL Server 2005 with them. However, my limited testing of Access 2003 as the Frontend and SQL Server 2005 as backend using linked tables seems to be okay. Time will tell, of course"

        Comment


        • #5
          Hallo zusammen,

          zunächst einmal vielen Dank für die Antworten. Dadurch kommt man immer ein Stückchen dem Ziel näher (wenn's auch noch weit weg liegt). Zufälligerwese hab ich vor dem Beitritt in dieses Forum bereits das Buch "SQL Server 2005" von Herr Kosch gekauft und bin gerade dabei, es durchzuarbeiten. Schön, wenn ein Buchautor so aktiv in einem Forum mitwirkt!!!
          Das aber nur am Rande.
          Ich habe erkannt, daß ich weitere Literatur für die Einarbeitung benötige und hätte gerne gewußt, ob mir jemand einen Tip dafür geben kann, welche Bücher ich bräuchte, um mich in das Thema "Stored Procedures" und "User Definded Functions" besser einarbeiten zu können.
          Mich interessiert dabei konkret, wie dort programmiert wird, also wie z.B. der Syntax aufegebaut ist. Ich möchte den SQL Server 2005 Express mit Visual C# 2005 Express nutzen.

          Vielen Dank im Voraus.

          Bis denn,
          NewDeveloper

          Comment


          • #6
            Hallo,

            ...bereits das Buch "SQL Server 2005" von Herr Kosch gekauft ...
            ich habe 2 Bücher zum SQL Server 2005 geschrieben. Nur im »SQL Server 2005 Programmierhandbuch« (siehe http://entwickler-press.de/ep/psecom...buchid,66.html) gehe ich ausführlich auf die Programmierung mit T-SQL ein, wobei auch die Implementierung mit SQLCLR vorgestellt wird. Der Schwerpunkt im Buch liegt jedoch beim klassischen T-SQL.

            Das kleine Buch (»SQL Server 2005 Express Edition«, siehe http://entwickler-press.de/ep/psecom...buchid,41.html) kann aus Platzgründen nur einen sehr kleinen Einblick in die Programmierung geben.

            Comment


            • #7
              Hallo,

              kann man T-SQL und SQLCLR als zwei Programmiersprachen bezeichnen, die für die Implementierung von Stored Procedures verwendet werden? Ist SQLCLR neuer und/oder komfortabler als T-SQL?

              Werden die UDFs auch in diesen Sprachen erstellt?

              Welche Werkzeuge muß ich verwenden, wenn ich zum Einstieg meiner Programmierung immer die gleiche Abfrage, jedoch mit unterschiedlichen Parametern verwenden möchte?
              Erstellt man dann eine Stored Proc. mit einer Variablen und ruft man dann über VC# z.B. über einen Button diese Prozedur mit dem übergebenen Parameter auf?

              Comment


              • #8
                Hallo,

                hinter SQLCLR verbirgt sich die Integration des .NET Frameworks in den MS SQL Server 2005. Zwar ist SQLCLR in der Tat "neuer", aber kein vollständiger Ersatz für SQL. Mit SQLCLR stehen nur neue Möglichkeiten zur Verfügung, um eigene Routinen in der bevorzugten .NET-Sprache (Visual Basic 2005 oder C# 2.0) zu implementieren.

                Erstellt man dann eine Stored Proc. mit einer Variablen und ruft man dann über VC# z.B. über einen Button diese Prozedur mit dem übergebenen Parameter auf?
                Ja, wobei der Stored Procedure sowohl INPUT- als auch OUTPUT-Parameter übergeben werden können. Im einfachsten Fall (nur 1 INPUT-Parameter) könnte das im Fall einer mit T-SQL implementierten Prozedur so aussehen:

                Code:
                CREATE PROCEDURE spGetAddressFromAddressID
                (
                  @AddressID INT
                )
                AS
                  BEGIN
                    SET NOCOUNT ON;
                    SELECT AddressLine1,AddressLine2,PostalCode,City
                    FROM Person.Address
                    WHERE AddressID = @AddressID;
                    -- Anzahl der Treffer als Rückgabewert weitergeben
                    RETURN @@ROWCOUNT; 
                  END
                GO
                Eine SQLCLR-Prozedur sieht wie jedes andere .NET-Modul aus (nur die Attribute unterscheiden sich):

                Code:
                using System;
                using System.Data;
                using System.Data.Sql;
                using System.Data.SqlTypes;
                using Microsoft.SqlServer.Server;
                
                public partial class StoredProcedures
                {
                  [Microsoft.SqlServer.Server.SqlProcedure]
                  public static void HelloWorld()
                  {
                    SqlContext.Pipe.Send("Hallo Welt");
                  }
                };

                Comment

                Working...
                X