Click here to Skip to main content
15,897,518 members
Home / Discussions / Database
   

Database

 
GeneralRe: Writing data to a dataset Pin
numbrel5-Apr-05 11:01
numbrel5-Apr-05 11:01 
GeneralSelect statments problems Pin
Member 17338781-Apr-05 0:09
Member 17338781-Apr-05 0:09 
GeneralRe: Select statments problems Pin
Colin Angus Mackay1-Apr-05 0:22
Colin Angus Mackay1-Apr-05 0:22 
GeneralRe: Select statments problems Pin
Michael Potter1-Apr-05 4:34
Michael Potter1-Apr-05 4:34 
GeneralRe: Select statments problems Pin
Yulianto.1-Apr-05 17:17
Yulianto.1-Apr-05 17:17 
QuestionAm I missing a header file? Pin
IlanTal31-Mar-05 23:31
IlanTal31-Mar-05 23:31 
AnswerRe: Am I missing a header file? Pin
Colin Angus Mackay1-Apr-05 7:37
Colin Angus Mackay1-Apr-05 7:37 
QuestionHow do I COMMIT an oracle temp table thru ado.net Pin
phil.short31-Mar-05 10:50
phil.short31-Mar-05 10:50 
I have a number of SQL queries to execute on an Orcale database, all of which are based on a common subset of a large table. I have the SQL to create a temp table then use the temp table to drive the first of these queries, and this works through Oracle SQL worksheet.

I'm trying to get this to work through ADO.NET, by sending a series of SQL commands via OleDbCommand.

This is the SQL:

DROP TABLE ODSWIP;<br />
<br />
COMMIT WORK;<br />
<br />
CREATE GLOBAL TEMPORARY TABLE ODSWIP<br />
ON COMMIT PRESERVE ROWS<br />
AS SELECT <br />
/*+ ORDERED */ <br />
RMAM.RMA_NBR AS RMAM_RMA_NBR, <br />
RMAD.LN_NBR AS RMAD_LN_NBR, <br />
SORD.ORD_NBR AS SORM_ORD_NBR, <br />
SORD.LN_NBR AS SORD_LN_NBR, <br />
RMAD.OUT_PART_NBR, <br />
SORD.PRODUCT_ID, <br />
RMAD.OUT_TRACE_ID, <br />
RMAD.DT_RECEIVED, <br />
SORD.DT_CREATED, <br />
ZORD.ORD_NBR AS ZORD_ORD_NBR, <br />
ZORD.SALES_SUB_ORD_NBR AS ZORD_SALES_SUB_ORD_NBR<br />
FROM RMAM, RMAD, SORD, ZORD<br />
WHERE RMAM.RMA_NBR=RMAD.RMA_NBR<br />
AND RMAD.RMA_NBR=SORD.ORD_NBR<br />
AND SORD.PRODUCT_ID=ZORD.PART_NBR<br />
AND RMAM.RMA_NBR=ZORD.SALES_ORD_NBR<br />
AND SORD.REC_CD='DT'<br />
AND TRIM(SORD.PRODUCT_ID) NOT LIKE '%=_' <br />
AND TRIM(SORD.CNCL_ITM_RSN_CD) Is Null<br />
AND RMAD.DT_RECEIVED Is Not Null <br />
AND TRIM(SORD.INVOICE_ID) is null <br />
AND ZORD.PART_NBR Not Like '*-R *'<br />
AND ZORD.SERV_ORDER='Y';<br />
<br />
COMMIT WORK;<br />
<br />
SELECT /*+ ORDERED */  RMAM.RMA_NBR, SORD.LN_NBR, TRIM(RMAD.OUT_TRACE_ID), TRIM(RMAM.CUST_ID), TRIM(RMAD.OUT_PART_NBR), <br />
SORD.PRODUCT_ID, RMAD.DT_RECEIVED, SORD.DT_CREATED, SORD.DT_LST_UPDATE, ZORD.ORD_NBR, ZORD.SALES_SUB_ORD_NBR, <br />
OORD.ACTUAL_OPEN_DATE<br />
FROM ODSWIP, RMAM, RMAD, SORD, ZORD, OORD<br />
WHERE ODSWIP.RMAM_RMA_NBR = RMAM.RMA_NBR<br />
AND ODSWIP.RMAM_RMA_NBR = RMAD.RMA_NBR AND ODSWIP.RMAD_LN_NBR = RMAD.LN_NBR<br />
AND ODSWIP.SORM_ORD_NBR = SORD.ORD_NBR AND ODSWIP.SORD_LN_NBR = SORD.LN_NBR<br />
AND ODSWIP.ZORD_ORD_NBR = ZORD.ORD_NBR<br />
AND ZORD.ORD_NBR=OORD.ORD_NBR AND ZORD.SUB_ORD_NBR=OORD.SUB_ORD_NBR<br />
ORDER BY SORD.ORD_NBR DESC;

My problem is the COMMIT WORK underlined. I *know* this is necessary to actually populate the temp table, and I don't get an error from executing this command using ExecuteNonQuery. However, the results from the final SELECT as returned through OleDbDataAdapter gives me the column headers - i.e. an empty dataset, as if the COMMIT WORK didn't.

Apologies for the long post, but here's the .net code I'm using:
    Private Sub btnStartDate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStartDate.Click<br />
        ' Query the database and cache the result<br />
        Dim myConn As OleDbConnection<br />
        Dim strconn As String = Session.Item("optSrcDBConnect")<br />
<br />
        Dim dcSQL As OleDbCommand<br />
        Dim strSQL As String<br />
        Dim drSQL As OleDbDataReader<br />
<br />
        WriteLog("Open connection")<br />
        Try<br />
            myConn = New OleDbConnection(strconn)<br />
            myConn.Open()<br />
        Catch ex As Exception<br />
            WriteLog("Error opening connection " & vbCrLf & ex.Message)<br />
            Exit Sub<br />
        End Try<br />
<br />
        Try<br />
            strSQL = "DROP TABLE ODSWIP"<br />
            WriteLog(strSQL)<br />
            dcSQL = New OleDbCommand(strSQL, myConn)<br />
            dcSQL.ExecuteNonQuery()<br />
        Catch ex As Exception<br />
            WriteLog("Error processing SQL " & vbCrLf & strSQL & vbCrLf & ex.Message)<br />
            '           Exit Sub<br />
        End Try<br />
<br />
        Try<br />
            strSQL = "CREATE GLOBAL TEMPORARY TABLE ODSWIP ON COMMIT PRESERVE ROWS AS SELECT /*+ ORDERED */ RMAM.RMA_NBR AS RMAM_RMA_NBR, RMAD.LN_NBR AS RMAD_LN_NBR, SORD.ORD_NBR AS SORM_ORD_NBR, SORD.LN_NBR AS SORD_LN_NBR, RMAD.OUT_PART_NBR, SORD.PRODUCT_ID, RMAD.OUT_TRACE_ID, RMAD.DT_RECEIVED, SORD.DT_CREATED, ZORD.ORD_NBR AS ZORD_ORD_NBR, ZORD.SALES_SUB_ORD_NBR AS ZORD_SALES_SUB_ORD_NBR  FROM RMAM, RMAD, SORD, ZORD  WHERE RMAM.RMA_NBR = RMAD.RMA_NBR AND RMAD.RMA_NBR=SORD.ORD_NBR AND SORD.PRODUCT_ID=ZORD.PART_NBR AND RMAM.RMA_NBR=ZORD.SALES_ORD_NBR AND SORD.REC_CD='DT' AND TRIM(SORD.PRODUCT_ID) NOT LIKE '%=_' AND TRIM(SORD.CNCL_ITM_RSN_CD) Is Null AND RMAD.DT_RECEIVED Is Not Null AND TRIM(SORD.INVOICE_ID) is null AND ZORD.PART_NBR Not Like '*-R *' AND ZORD.SERV_ORDER='Y'"<br />
            WriteLog(strSQL)<br />
            dcSQL = New OleDbCommand(strSQL, myConn)<br />
            dcSQL.ExecuteNonQuery()<br />
        Catch ex As Exception<br />
            WriteLog("Error processing SQL " & vbCrLf & strSQL & vbCrLf & ex.Message)<br />
            Exit Sub<br />
        End Try<br />
<br />
        Try<br />
            strSQL = "COMMIT WORK"<br />
            WriteLog(strSQL)<br />
            dcSQL = New OleDbCommand(strSQL, myConn)<br />
            dcSQL.ExecuteNonQuery()<br />
        Catch ex As Exception<br />
            WriteLog("Error processing SQL " & vbCrLf & strSQL & vbCrLf & ex.Message)<br />
            Exit Sub<br />
        End Try<br />
<br />
        Try<br />
            strSQL = "SELECT /*+ ORDERED */  RMAM.RMA_NBR, SORD.LN_NBR, TRIM(RMAD.OUT_TRACE_ID), TRIM(RMAM.CUST_ID), TRIM(RMAD.OUT_PART_NBR),  SORD.PRODUCT_ID, RMAD.DT_RECEIVED, SORD.DT_CREATED, SORD.DT_LST_UPDATE, ZORD.ORD_NBR, ZORD.SALES_SUB_ORD_NBR, OORD.ACTUAL_OPEN_DATE  FROM ODSWIP, RMAM, RMAD, SORD, ZORD, OORD WHERE ODSWIP.RMAM_RMA_NBR = RMAM.RMA_NBR And ODSWIP.RMAM_RMA_NBR = RMAD.RMA_NBR And ODSWIP.RMAD_LN_NBR = RMAD.LN_NBR AND ODSWIP.SORM_ORD_NBR = SORD.ORD_NBR AND ODSWIP.SORD_LN_NBR = SORD.LN_NBR AND ODSWIP.ZORD_ORD_NBR = ZORD.ORD_NBR AND ZORD.ORD_NBR=OORD.ORD_NBR AND ZORD.SUB_ORD_NBR=OORD.SUB_ORD_NBR"<br />
            WriteLog(strSQL)<br />
            Dim daOrders = New OleDbDataAdapter(strSQL, strconn)<br />
            'WriteLog(txtSpecificQuery.Text)<br />
            If myDS.Tables.Contains("SpecificQuery") Then myDS.Tables("SpecificQuery").Dispose()<br />
            daOrders.fill(myDS, "SpecificQuery")<br />
            WriteLog("Cincom specific extract complete" & vbCrLf & myDS.Tables("SpecificQuery").Rows.Count & " rows returned", EventLogEntryType.Information)<br />
        Catch ex As Exception<br />
            WriteLog("Error processing SQL" & vbCrLf & strSQL & vbCrLf & ex.Message)<br />
        End Try<br />
<br />
        Session.Item("myDS") = myDS<br />
        Radiobutton8.Checked = True<br />
        DataGrid2.CurrentPageIndex = 0<br />
        DataGrid2.DataSource = myDS.Tables("SpecificQuery")<br />
        DataBind()<br />
    End Sub


Any suggestions gratefully accepted!
GeneralSQL challenge Pin
Chris Losinger31-Mar-05 4:04
professionalChris Losinger31-Mar-05 4:04 
GeneralRe: SQL challenge Pin
Colin Angus Mackay31-Mar-05 4:18
Colin Angus Mackay31-Mar-05 4:18 
GeneralRe: SQL challenge Pin
Chris Losinger31-Mar-05 5:15
professionalChris Losinger31-Mar-05 5:15 
Questionparameterized queries? Pin
IlanTal31-Mar-05 3:31
IlanTal31-Mar-05 3:31 
AnswerRe: parameterized queries? Pin
IlanTal31-Mar-05 18:38
IlanTal31-Mar-05 18:38 
GeneralReading BLOB data from database Pin
Member 165844231-Mar-05 1:37
Member 165844231-Mar-05 1:37 
GeneralRe: Reading BLOB data from database Pin
Member 165844211-Apr-05 2:57
Member 165844211-Apr-05 2:57 
QuestionReporting Service - bug with drilldown? Pin
devvvy30-Mar-05 23:56
devvvy30-Mar-05 23:56 
GeneralNHibernate Child-Parent relationship -- Key happens to be a composite key Pin
devvvy29-Mar-05 23:23
devvvy29-Mar-05 23:23 
GeneralPackage and deployment Pin
Salman Sheikh29-Mar-05 19:00
Salman Sheikh29-Mar-05 19:00 
GeneralLaunching SQL Server job xp_cmdshell Pin
devvvy29-Mar-05 17:32
devvvy29-Mar-05 17:32 
GeneralOracleClient and Timestamp datatype Pin
Yos Nugroho29-Mar-05 17:21
Yos Nugroho29-Mar-05 17:21 
GeneralGUIDs as PK's Pin
Marc Clifton29-Mar-05 10:04
mvaMarc Clifton29-Mar-05 10:04 
GeneralRe: GUIDs as PK's Pin
rwestgraham29-Mar-05 10:25
rwestgraham29-Mar-05 10:25 
GeneralRe: GUIDs as PK's Pin
Carl Mercier1-Apr-05 10:24
Carl Mercier1-Apr-05 10:24 
GeneralRe: GUIDs as PK's Pin
Marc Clifton4-Apr-05 5:16
mvaMarc Clifton4-Apr-05 5:16 
GeneralRe: GUIDs as PK's Pin
Andy Brummer29-Mar-05 11:14
sitebuilderAndy Brummer29-Mar-05 11:14 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.