Announcement

Collapse
No announcement yet.

ADO Connect zu sybase

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

  • ADO Connect zu sybase

    Hallo an alle,<br>
    unter Borland C++ Builder 5 eine Sache von fuenf Minuten, unter VisualStudio.Net in C# ?<br>
    Habe versucht einen Connect zu einer sybase DB zu erstellen und eine Tabelle in einer DbGrid zu zeigen, vergebens.<br>
    Weiß jemand die Vorgehensweise?
    Gruß Kosta

  • #2
    Hallo,

    mit einem SyBase-Server kann ich nicht dienen, aber beim Microsoft SQL Server ist die Sache recht flott erledigt:

    Neues Projekt beginnen (in meinem Beispiel VB.NET, die Sprache spielt jedoch keine Rolle)

    <b>SqlConnection</b> auf Form (bei Sybase: OleDbConnection):<br>
    - Eigenschaften ConnectionString -> Neue Verbindung<br>
    - Verbindungsparameter setzen

    <b>SqlDataAdapter</b> auf Komponentenfläche: <b>Datenadapter-Konfigurations-Assistent</B> startet<br>
    - Datenadapter-Konfigurations-Assistent: SQL festlegen <br>
    - rechten Mausklick auf SqlDataAdapter: <i>Dataset generieren..</i>
    - rechter Mausklick auf SqlDataAdapter: <i>Datenvorschau</i> (optionale Prüfung)

    <b>DataGrid</b> auf Formular ablegen: <br>
    - Eigenschaft DataSource: <i>DataSet</i> vom vorigen Schritt zuweisen<br>

    <b>Button</b> auf Formular ablegen: Daten laden und im DataGrid darstellen
    <pre>
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    SqlDataAdapter1.Fill(DataSet11, "Orders")
    End Sub
    </pre&gt

    Comment


    • #3
      Hi,

      also ich kenne mich zwar mit Sybase nicht aus, aber da du ja sagst das es mit dem C++ Builder geht, mit ADO kannst du dich an folgende Vorgehensweise halten.

      1.
      Neue WindowsForm Application erstellen.

      2. In der Toolbox findest du unter "DATA" eine OleDbConnection bzw. den OleDbDataAdapter.

      3. Zieh einfach den "OleDbDataAdapter" auf die Form. Dann kommt eine Abfrage nach der Connection. Da wir bis jetzt noch keine haben wähle einfach "New Connection" aus.

      4. Der Verbindungsdialog ist gleich. Also die Einstellung zu Sybase kennst du bestimmt besser als ich

      5. Dann führe den Assistenten weiter aus. (Tabelle wählen ...)

      6. Wenn der DataAdapter auf der Form ist, drücke die Rechte Maustaste und wähle "Generate Dataset".

      7. VS erstellt dir daraufhin ein "typed" Dataset. Beschrieben wird es in XML.

      8. Plaziere einfach ein DataGrid auf das Formular.

      9. Stelle dort die Eigenschaften DataSource und DataMember ein.

      10. Der Adapter muss jetzt nur nach das DataSet füllen. Also irgendwo ne Methode schreiben mit:

      OleDbDataAdapter.Fill(DataSet1, "Tabellenname");

      Das wars.

      Klar da gibts noch ein paar Feinheiten. Am meisten hatte ich Probleme als ich die Namespaces änderte und eine Datenzugriffsschicht
      erstellt hab wo alle DataSet Definitionen verfügbar sind. Diese reiche ich dann im Client nach oben. Aber zum testen für den Anfang
      reicht das denke ich.

      Am Anfang musste ich mich auch erst von Delphi umstellen. Hat so nen Tag gedauert bis es klappte.

      BTW: Dauert auch maximal 5 Minuten

      Comment


      • #4
        Hallo,<br>
        erstmal Danke fuer eure Antworten.<br>
        Sobald ich aber unter Datenverknuepfungseigenschaften den Provider also in meinem Fall "MS OLE DB Provider for ODBC Drivers" auswaehle kann ich im folgenden Registerreiter "Verbindung" den Alias auswaehlen. Nachdem ich das, und die anderen Einstelungen gemacht habe gehe ich auf Verbindung testen und er sagt Verbindung erfolgreich.<br>
        Sobald ich auf OK gehe bringt er folgende Meldung:<br>
        "Der OLE DB-Anbieter für .Net-Daten (System.Data.OleDb) unterstützt nicht den MSDASQL-Anbieter, Microsoft OLE DB-Anbieter für ODBC-Treiber."<br>
        Ich bekomme ja meinen Alias angezeigt nur wen ich diesen Provider auswaehle bei den anderen nicht.<br>
        Was mache ich falsch

        Comment


        • #5
          Hallo,<br>
          noch etwas, sobald mann beim bcb5 eine Kompo ins Formular zieht wird der code nicht in die *.cpp Datei geschrieben sondern in einer andere. Sommit existiert eine abhaengigkeit zwischen Oberflaeche und Code. Bei VS C# wird alles in die *.cs geschrieben das bedeutet daß die Oberflaeche nichts mit dem Code zu tun hat. Stimmts

          Comment


          • #6
            Hi,

            mit deinem Sybase Problem kann ich dir da leider nicht weiterhelfen da ich selbst nur MS und Oracle einsetze.

            Wegen der anderen Frage kenne ich nur von Delphi die DFM Dateien. Wahrscheinlich ist es beim C++ Builder gleich. In C# wird alles, also auch was du mit dem Designer machsts in der CS Datei gespeichert. Glücklicherweise haben die das "Region" Konzept im Editor was die ganzen Form Komponenten Standard mäßig schon versteckt!

            Achso sieht man mal von der Assembly ab. Die ist jedoch auch ne CS Datei und hat keine weiteren Abhängikeiten zu deinem Code

            Comment


            • #7
              PS. Ich versuch gerade die Final Release zu "saugen" aber die MSDN Server sind anscheinend alle hoffnungslos überlastet :

              Comment

              Working...
              X