.NET
  Home arrow .NET arrow Page 5 - .NET Stored Procedure: Reading a Text File...
ASP Free Forums 
.NET  
ASP  
ASP Code  
ASP.NET  
ASP.NET Code  
BrainDump  
C#  
Code Examples  
Database  
Database Code  
IIS  
Microsoft Access  
MS SQL Server  
Silverlight  
Visual Basic.NET  
Windows Scripting  
Windows Security  
XML  
Mobile Linux 
App Generation ROI 
IBM® developerWorks 
ASP Web Hosting  
ASP.NET Web Hosting 
Windows Web Hosting
 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
.NET

.NET Stored Procedure: Reading a Text File into an Oracle Table
By: Jagadish Chaterjee
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 4 stars4 stars4 stars4 stars4 stars / 12
    2005-12-27

    Table of Contents:
  • .NET Stored Procedure: Reading a Text File into an Oracle Table
  • Deploying the Oracle based .NET CLR stored procedure using Visual Studio.NET
  • Testing the Oracle-based .NET CLR stored procedure
  • How to read all the lines from the text file
  • How to read all the lines from the text file – in a better and more efficient way

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
    ADVERTISEMENT


    .NET Stored Procedure: Reading a Text File into an Oracle Table - How to read all the lines from the text file – in a better and more efficient way


    (Page 5 of 5 )

    In the previous section, the “OracleConnection” is only opened once, but we are creating an “OracleCommand” object for every line.  Therefore, if we have 1000 lines of text, the loop rotates 1000 times, creating 1000 “OracleCommand” objects in memory. 

    Even though we tried to close all the “OracleCommand” objects before going to the next iteration, the previous method is still expensive, as there exists no possibility of “caching” the same command, which is being issued (or executed) repeatedly.

    The most efficient way to deal with the above case would be something like the following code:

    Public Shared Sub readAllLines()
            Dim sr As New StreamReader("c:\sample.txt")
     
            Dim l As String = sr.ReadLine
            Dim arContent As New ArrayList
            While Not l Is Nothing
                arContent.Add(l)
                l = sr.ReadLine
            End While
            sr.Close()
     
            'an efficient method
            '==============================
            Dim conn As New OracleConnection("context
    connection=true")
            Dim cmd As New OracleCommand
            cmd.Connection = conn
            cmd.CommandText = "insert into scott.sampletable values
    (:line)"
            conn.Open()
            For Each l In arContent
                cmd.Parameters.Clear()
                cmd.Parameters.Add("line", OracleDbType.Varchar2).Value = l
                cmd.ExecuteNonQuery()
            Next
            cmd.Dispose()
            conn.Close()
        End Sub

    Even in the above case, you could see that I used a loop.  But I am creating only one “OracleCommand” object (created outside the loop) for any number of iterations.  Working with the “parameters” is the most efficient way to deal with several “inserts” or “updates.”  Dealing with the solution in the above manner would automatically involve “server-side” caching, which gives a tremendous hit to the performance.

    To know and work with “OracleConnection,” “OracleCommand” and other objects, I suggest you go through my series on “ODP.NET with ASP.NET” within this website.  Other enhancements to this solution would be something like “sending the filename as parameter,” “working with multiple columns,” “working with delimiters,” and so on.  You can download the entire source code (Visual studio.NET) solution here or at the beginning of this article. I leave it to the programmers for further enhancements. Any doubts, comments, suggestions, bugs, errors or feedback are welcomed at jag_chat@yahoo.com 


    DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.

       · Hello guys, another article contributed towards .NET CLR stored procedure in Oracle....
     

    .NET ARTICLES

    - Building Applications with Windows Workflow ...
    - Building the Data and Business Layers Using ...
    - The Transformed XML Explorer in MFC
    - List Control and Property Grid with the MFC ...
    - Font, Shell and Masked Edit Controls for MFC
    - Color, Link and Image Editor Controls for M...
    - New Controls for MFC
    - The Windows Ribbon Framework
    - Markup Language for the Ribbon Framework
    - Visually Upgrade Your MFC Project
    - New Features for the Statusbar in MFC
    - Working with the Statusbar in MFC
    - Iron Speed Design v60 Review
    - Binary and XML Serialization
    - Using CrystalReportViewer to Display Crystal...





    © 2003-2009 by Developer Shed. All rights reserved. DS Cluster 6 Hosted by Hostway
    For more Enterprise Application Development news, visit eWeek