[.NET] Enterprise Library + Oracle

Pagina: 1
Acties:

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
Hallo,

Wij willen op het werk graag de enterprise library gaan gebruiken (http://msdn.microsoft.com...us/dnpag2/html/entlib.asp)

Nu werkt deze prima om een sqlserver stored proc aan te roepen, en volgends de documentatie zou dit dus op dezelfde manier moeten werken voor bijvoorbeeld oracle.

Nu weet ik niet veel van Oracle dus ik hoopte dat iemand hier ervaring heeft met deze enterprise library.

Nu heb ik de volgende code;

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public DataSet GetEmpByID(int id)
        {
            
            Database db = DatabaseFactory.CreateDatabase();
            string sqlCommand = "curspkg_join.spGetEmployee";
            DBCommandWrapper dbCommandWrapper = db.GetStoredProcCommandWrapper(sqlCommand);
            
            dbCommandWrapper.AddInParameter("p_empno", DbType.Int32, id);
            dbCommandWrapper.AddOutParameter("io_cursor", DbType.Object,1024);

            DataSet categoryDataSet = null;

            //categoryDataSet = db.ExecuteDataSet(dbCommandWrapper);
            db.ExecuteDataSet(dbCommandWrapper);


            return  categoryDataSet;
        }


Maar deze code geeft dus de exception:

An unhandled exception of type 'System.Data.OracleClient.OracleException' occurred in microsoft.practices.enterpriselibrary.data.dll

Additional information: ORA-06550: line 1, column 14:
PLS-00103: Encountered the symbol "PACKAGE" when expecting one of the following:

:= . ( @ % ;
The symbol ":=" was substituted for "PACKAGE" to continue.


Terwijl deze code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 Dim x As Exception
        Dim Ds As New DataSet
        Dim myCMD As New OracleCommand
        myCMD.Connection = Oraclecon
        myCMD.CommandText = "curspkg_join.spGetEmployee"
        myCMD.CommandType = CommandType.StoredProcedure
        myCMD.Parameters.Add(New OracleParameter("p_empno", OracleType.Number)).Value = 123
        myCMD.Parameters.Add(New OracleParameter("io_cursor", OracleType.Cursor)).Direction = ParameterDirection.Output
        'myCMD.ExecuteReader()
        Dim MyDA As New OracleDataAdapter(myCMD)
        Try
            MyDA.Fill(Ds)
        Catch x
            MessageBox.Show(x.Message.ToString)
        End Try
        DataGrid1.DataSource = Ds.Tables(0)


wel gewoon werkt.

Ik ben al uren aan het zoeken maar ik kan geen oracle voorbeelden vinden voor de enterprise library, dus ik hoop dat iemand mij opweg kan helpen

thx

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • EfBe
  • Registratie: Januari 2000
  • Niet online
je package naam is 'curspkg_join'. Echter het kan zijn dat die enterprise library call db.GetStoredProcCommandWrapper(sqlCommand); dat niet snapt en PACKAGE.procname als naam gebruikt.

Overigens is de enterprise library voor data-access nauwelijks nuttig, je schrijft dezelfde code alleen dan met iets andere statements.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
Ja dat idee had ik ook al dat het niet super nuttig zou zijn, hoewel ze beweren dat je dezelfde aanroep zou kunnen gebruiken voor verschillende databases, terwijl de storedproc's fysiek gewoon anders zijn.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...