Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  ODBC - Prozeduraufruf

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  ODBC - Prozeduraufruf (1435 mal gelesen)
Feyza
Mitglied



Sehen Sie sich das Profil von Feyza an!   Senden Sie eine Private Message an Feyza  Schreiben Sie einen Gästebucheintrag für Feyza

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 08. Mrz. 2007 15:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

in VB.NET 2005 möchte ich gerne eine Prozdur aufrufen und den Wert, der er herausgibt in eine TEXTBOX schreiben.

Mit diesem Code kann man von der Oracledatenbank ohne Probleme Daten holen.

            Dim ConnStringBDB As String
            ConnStringBDB = "DRIVER={Microsoft ODBC for Oracle};SERVERtestserver;uidscott;pwd=tiger;"

            Dim ODBCConnBDB As OdbcConnection = New OdbcConnection(ConnStringBDB)
            Dim catCMDBDB As OdbcCommand = New OdbcCommand("select * from test_tabelle where ART='222', ODBCConnBDB)

            ODBCConnBDB.Open()

            Dim myReaderBDB As OdbcDataReader = catCMDBDB.ExecuteReader()

            Do While myReaderBDB.Read()
                txtBe.Text = myReaderBDB.GetString(13) & ""

            Loop

            myReaderBDB.Close()
            ODBCConnBDB.Close()


Jetzt muß ich aber eine Prozedur aufrufen.

Ich habe mir gedacht:

            Dim ConnStringBDB As String
            ConnStringBDB = "DRIVER={Microsoft ODBC for Oracle};SERVERtestserver;uidscott;pwd=tiger;"

            Dim ODBCConnBDB As OdbcConnection = New OdbcConnection(ConnStringBDB)
            Dim catCMDBDB As OdbcCommand = New OdbcCommand("dok_zerl (test1,test2)ODBCConnBDB1)

            ODBCConnBDB.Open()

            Dim myReaderBDB As OdbcDataReader = catCMDBDB.ExecuteReader()

            Do While myReaderBDB.Read()
                txtBe.Text = myReaderBDB.GetString(13) & ""

            Loop

            myReaderBDB.Close()
            ODBCConnBDB.Close()

dok_zerl ist die Prozedur.

Das kommt aber die Fehlermeldung:

Error[42000][Microsoft}[ODBC driver fpr Oracle][Oracle]ORA-00900;invalid SQL statement.

--------------------------------------------------
In der Hilfe von MNS habe ich folgendes gelesen:
cmd.CommandType = CommandType.StoredProcedure
wie baue ich das hier mit rein?

Danke Euch für jede Unterstützung

------------------
Schöne Grüße
Feyza : )

[Diese Nachricht wurde von Feyza am 08. Mrz. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4)
AutoCAD Map 2000i / WinNT (SP6)

erstellt am: 09. Mrz. 2007 07:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Feyza 10 Unities + Antwort hilfreich

Hi Feyza,

ein paar Anmerkungen

Zitat:
SERVERtestserver;uidscott;pwd=tiger;"

Sollte evtl. heissen SERVER=testserver;uid=scott;

Zitat:
Dim catCMDBDB As OdbcCommand = New OdbcCommand("dok_zerl (test1,test2)ODBCConnBDB1)
...
Das kommt aber die Fehlermeldung:

Error[42000][Microsoft}[ODBC driver fpr Oracle][Oracle]ORA-00900;invalid SQL statement.



kein gültiges SQL Kommando!!!

Schau mal unter  http://support.microsoft.com/kb/174981/de  .. zu 7.

Code:
...
QSQL = "{call packperson.oneperson(?,{resultset 2, ssn, fname, " _
                & "lname})}"
...

Grüssle Lars

------------------

"Soll es funktionieren oder darf es auch etwas von Siemens sein?" ...

http://validator.w3.org/check?uri=http://ww3.cad.de/cgi-bin/ubb/Ultimate.cgi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Feyza
Mitglied



Sehen Sie sich das Profil von Feyza an!   Senden Sie eine Private Message an Feyza  Schreiben Sie einen Gästebucheintrag für Feyza

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 09. Mrz. 2007 07:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen Lars,

danke Dir für Deine Antwort.
Entschuldige, habe vorher unsere Daten drinnen gehabt und habe wohl das "=" zuviel gelöscht.
Werde mir den Link gleich anschauen.

------------------
Schöne Grüße
Feyza : )

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Feyza
Mitglied



Sehen Sie sich das Profil von Feyza an!   Senden Sie eine Private Message an Feyza  Schreiben Sie einen Gästebucheintrag für Feyza

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 09. Mrz. 2007 10:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Lars,

habe versucht mit diesem Code umzusetzten.
Das funktioniert nicht ganz.
Das SQL Befehl scheint jetzt in Ordnung zu sein. Auf der UNIX Maschine braucht man vor der Prozedur kein "call" jetzt passt der Code.
Jetzt Ist bei dem Beipiel, dass ich mehrere oder nur einen bekommen.
Wenn ich in einer msgbox einen Wert eingebe. Das habe ich leider nicht ganz verstanden.
Ich möchte eine Prozedur auf einer unix-maschine ausführen und das, wwas er mir unter unix als Zeile gibt, unter vb.net2005 in einer Textbox einlesen.
Könntest Du mir bitte noch sagen, wie ich den wert in einer Textbox bekomme?

Danke Dir.


------------------
Schöne Grüße
Feyza : )

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4)
AutoCAD Map 2000i / WinNT (SP6)

erstellt am: 09. Mrz. 2007 11:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Feyza 10 Unities + Antwort hilfreich

Hallo Feyza,

Du schreibst heute sehr verwirrende Sachen .. 

Zitat:
Jetzt Ist bei dem Beipiel, dass ich mehrere oder nur einen bekommen.

Von was redest Du? Äpfel, Birnen, Würstchen oder meinst Du eine Anzahl von Zeilen, die deine Prozedur zurückgibt?

Zitat:
Wenn ich in einer msgbox einen Wert eingebe.

Kann es sein, dass Du Inputbox meinst?

Zitat:
Könntest Du mir bitte noch sagen, wie ich den wert in einer Textbox bekomme?

DeineTextBox.Text = ...

Leider kann ich Dir auch nicht sagen, was in 'CPw1' drinnensteht, da ich das Objekt 'rdoQuery' auch nicht kenne. Aber vielleicht setzt Du mal einen Breakpoint in die Zeile und nimmst das Objekt mal in die Überwachung rein und schaust dann, was es für Eigenschaften hat. Wahrscheinlich ist es irgendwo eine Collection.

Grüssle Lars

------------------

"Soll es funktionieren oder darf es auch etwas von Siemens sein?" ...

http://validator.w3.org/check?uri=http://ww3.cad.de/cgi-bin/ubb/Ultimate.cgi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Feyza
Mitglied



Sehen Sie sich das Profil von Feyza an!   Senden Sie eine Private Message an Feyza  Schreiben Sie einen Gästebucheintrag für Feyza

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 12. Mrz. 2007 08:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen Lars,

danke Dir nochmals.
Irgendwie kriege ich es nicht hin.

VB.NET 2005

Ich habe auf einer Oracle Datenbank eine Prozedur, die ich hiermit aufrufen kann ( denke ich mal )

Den Wert, den er mir auf der Unix Maschine zurück gibt, wenn ich die Prozdur dort aufrufe, würde ich gerne in
VB.NET 2005 in eine Textbox holen.

Wie kann man dies umsetzten?

            Dim ConnStringBDB1 As String
            ConnStringBDB1 = "DRIVER={Microsoft ODBC for Oracle};SERVER=" & man_db_SERVER & ";uid=" & man_db_uid & ";pwd=" & man_db_pwd & ";"

            Dim ODBCConnBDB1 As OdbcConnection = New OdbcConnection(ConnStringBDB1)

            Dim catCMDBDB1 As OdbcCommand = New OdbcCommand("call dok_zerl (" & txtDokument.Text & "," & txt1.Text & "," & txt2.Text & "," & var & "," & txtBenennung.Text & ")", ODBCConnBDB1)

            ODBCConnBDB1.Open()

'Bei dieser Zeile bricht das Programm ab, und wenn ich mit der Maus auf myReaderBDB1 gehe, ist dort Nothing:

            Dim myReaderBDB1 As OdbcDataReader = catCMDBDB1.ExecuteReader()

            Do While myReaderBDB1.Read()
                txtSQLProzedur1.Text = myReaderBDB1.GetString(1) & ""

            Loop

            myReaderBDB1.Close()
            ODBCConnBDB1.Close()

Die ist mein eigentlicher Code.

Ich hoffe doch noch nach einer Lösung.


------------------
Schöne Grüße
Feyza : )

[Diese Nachricht wurde von Feyza am 12. Mrz. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Feyza
Mitglied



Sehen Sie sich das Profil von Feyza an!   Senden Sie eine Private Message an Feyza  Schreiben Sie einen Gästebucheintrag für Feyza

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 12. Mrz. 2007 08:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Lars,

ich habe ein kleines Testprogramm.
Leider funnktioniert diese auch nicht.

    Private Sub frmArch_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim sqlConnection1 As New OdbcConnection("DRIVER={Microsoft ODBC for Oracle};SERVER=" & man_db_SERVER & ";uid=" & man_db_uid & ";pwd=" & man_db_pwd & ";")
        Dim cmd As New OdbcCommand
        Dim reader As OdbcDataReader

        cmd.CommandText = "{call test('" & txtDokument.Text & "')}"

        cmd.CommandType = CommandType.StoredProcedure
        cmd.Connection = sqlConnection1

        sqlConnection1.Open()

        reader = cmd.ExecuteReader()
        ' Data is accessible through the DataReader object here.
        txtSQLProzedur1.Text = reader.GetString(1) & ""
        sqlConnection1.Close()


    End Sub

------------------
Schöne Grüße
Feyza : )

[Diese Nachricht wurde von Feyza am 12. Mrz. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz