When to use setBytes() and setBinaryStream()

Hi,
I am using oracle thin driver to insert a image (blob type) into database.
Which method of PreparedStatement interface should I use to insert data,
setBytes() or SetBinaryStream().
My understanding is BinaryStream also sends data in form of bytes.
Then what is the difference between these two method ?
Please let me know.
Thanks,
-Amol

Well... looking at the API...
public void setBytes(int parameterIndex, byte[] x)
    throws SQLExceptionSets the designated parameter to the given Java array of bytes.
The driver converts this to an SQL VARBINARY or LONGVARBINARY
(depending on the argument's size relative to the driver's limits
on VARBINARY values) when it sends it to the database.
public void setBinaryStream(int parameterIndex, InputStream x,int length)
    throws SQLExceptionSets the designated parameter to the given input stream, which will
have the specified number of bytes. When a very large binary value
is input to a LONGVARBINARY parameter, it may be more practical to send
it via a java.io.InputStream object. The data will be read from the
stream as needed until end-of-file is reached.
It appears that setBytes() you pass in an entire in-memory array
of bytes, whereas setBinaryStream() allows you to pass in an
InputStream that contains the bytes.

Similar Messages

  • When I use Mail and want to paste an emailadress with a right mouse click in the adres field this doesn't work, ofcourse cmd V  works. How can I solve this

    when I use Mail and want to paste an emailadress with a right mouse click in the adres field this doesn't work, ofcourse cmd V  works. How can I solve this

    YAY!  That did it.
    Thank you so much.
    And a Very Happy and Prosperous New Year to you!
    bonnie

  • When to use inheritance and when not to?

    I've just been trying find out when to use inheritance and when not to use inheritance? I know that inheritance gives advantages such as code reuse and maintainability. But when are their times not to use inheritance that may effect the design of a project?
    Also when should one consider aggregation over inheritance(is-a relationship)?
    thanks,
    plandis

    Hi
    Answering this question usually requires a few books, so, I'm sorry, it's not really as simple as choosing between using a screwdriver vs. a hammer.
    But, very short, inheritance should ideally only be used when there exist a strict 'is-a' relationship. However, sometimes it may be clever to inherit when you have a 'is-almost-a' relationship... And sometimes this is a stupid move. This depends on the context/circumstances.
    Aggregation is normally considered a 'has-a' relationship, thereby differing clearly from inheritance. The old 'car' model says "a car is-a vehicle and has-some (at least) wheels."
    The wheels are aggregated to the car class, that itself is inherited from vehicle.
    However, this is just a good rule-of-thumb and there may be circumstantial reasons for not following these guidelines.

  • When to use SELECT and END SELECT in the query.

    hi all,
    When to use SELECT and END SELECT in the query.
    regads,
    Venkata Suresh Penke.

    Hi Suresh..
    When do we need to use SELECT .. ENDSELECT
    Usually we will never use SELECT .. ENDSELECT as it gives very poor performance.
    But whenever we read a single Record we will use it as an alternative for SELECT SINGLE in some scenarios.
    Eg: When the Full primary key is not specified in the WHERE clause.
    SELECT * FROM MARC INTO WA_MARC UP TO 1 ROWS WHERE MATNR = P_MATNR.
    ENDSELECT.
    And other scenario is when we perform AGGREGATE OPERATIONS.when the Result is only one row.
    SELECT SUM( LABST ) FROM MARD INTO V_LABST UP TO 1 ROWS
    WHERE MATNR = P_MATNR.
    ENDSELECT.
    Note: In The Above scenario we cannot use SELECT SINGLE..
    <b>REWARD IF HELPFUL.</b>

  • Please give me advices when to use black and white sliders in LR4.

    Please give me advices when to use black and white sliders in LR4.

    I use blacks and white sliders on every photo (this does not necessarily imply non-zero values). I consider them as important as any other slider. Not optional, not for fine tuning - include consideration each iteration.
    Although that is contrary to what Adobe and many "experts" recommend, I tried doing it their way too but I could not get the results I wanted in most cases.
    The "concept" and original intent is for fine tuning, but the implementation is not. I often set whites to +20, +30, +40. This has a radical effect on overall exposure which is the most important thing to get right in PV2012. And it generally requires compensatory adjustment of highlights, shadows, and sometimes contrast...
    Likewise, optimal shadow toning can include radical blacks adjustment  - sorry Adobe/experts/defenders, but for me - it's true. And, blacks slider, like whites, affects entire histogram, a lot.
    Summary:
    ========
    If you want to keep things as simple as possible, then use sparingly and use last (gag), but if you want your photos to look how you want them to look - as good as possible, then use liberally, and pay the price...
    More info here: http://forums.adobe.com/message/4259091#4259091
    Rob

  • When to use jsp,and when to use servlet?

    I think that jsp and servlet can realize the same functions, because when run a jsp, it is transferred to a servlet program, so when to use jsp and when to use servlet?
    I am now developing the input interface for a website, I just use jsp and javabean to connect to weblogic and database, and I didn't use servlet, Is there any unseemliness?
    Thank you!

    IMHO I use servlets to control the flow between my jsp's based on a number of factors in a webapp. For instance, user authorization. If a user has the authorization to conduct various administrative functions on an application (like change user rights, reset passwords etc) they will have access to specific buttons or links on some screens that others will not. I use servlets to establish what access rights a user has and direct them to the appropriate pages. I also use servlets to test data validity on form input screens. I know that I can also do this with JavaScript but that can be disabled by the client and in order to prevent that I also double check the form input from a servlet. All my jsp's do is display the results of a business process (which is held in a JavaBean or EJB) and the servlets act as the controllers for the application, connecting to multiple databases, verifying application state, flow control etc. I try to keep the jsp as simple as possible as some of them are maintained by html developers who lack the necessary experience to write java code. I hope this helps.

  • When i use Firefox and do a Google search, find what i need and click on the link I keep getting automatically redirected to another search site

    When i use Firefox and do a Google search, find what i need and click on the link I keep getting automatically redirected to another search site called http://www.scour.com
    Can someone tell me if this is a problem with Google or Mozilla? or both? or neither?

    This type of behaviour can be caused by malware. Try running several malware scanners. It is best to run several as each will pick up things that the others miss. Some scanners you can try are:
    * [http://www.malwarebytes.org/mbam.php Malwarebytes]
    * [http://www.superantispyware.com/ SUPERAntiSpyware]
    * [http://www.lavasoft.com/products/ad_aware_free.php Ad-Aware]
    * [http://www.microsoft.com/windows/products/winfamily/defender/default.mspx Windows Defender]
    * [http://www.safer-networking.org/en/home/index.html Spybot S&D]
    This link may help - http://deletemalware.blogspot.com/2010/02/remove-google-redirect-virus.html
    If the above malware scanners do not find any malware or can not clear it, you should consider posting in one of these forums for specialized malware removal help:
    * http://forums.spybot.info/
    * http://www.spywarewarrior.com/index.php
    * http://forum.aumha.org/
    * http://www.bleepingcomputer.com/forums/
    * http://www.spywareinfoforum.com/

  • Since i uploaded ios 5 my ipad crashes when i use apps and safari.

    Hi,
    since i uploaded my ipad to ios 5 it crashes when i use apps and safari.
    i tried to restat it and also i reset it to the factory settings but nothing has changed.
    is there any software problems ??

    seems if I disable all security it works. Not a very good situation, tells me it's a port that is open that shouldn't be. I imagine it is fine on a mac, but on a pc it is an issue since most corporations use pc's.

  • WHEN TO USE SYS_REFCURSOR AND WHEN NOT TO USE REFCURSOR

    SYS_REFCURSOR is a Weakly Defined Cursor
    DECLARE emp_refcur SYS_REFCURSOR;
    when this is so simple
    why this
    DECLARE TYPE emp_cur_type IS REF CURSOR RETURN emp%ROWTYPE; my_rec emp_cur_type; ?
    Can anyone explain in what situations we should prefer among these ..when both can give same result set .

    > WHEN TO USE SYS_REFCURSOR AND WHEN NOT TO USE REFCURSOR
    When the requirements define that one is better suited than the other.
    There are no hard and fast rules about when to use a specific tool. There are however basic concepts of what the purpose of the tool is, and what typical problems the tool can address.
    Ref cursors in PL/SQL.. usually not the best of ideas. Ref cursors are designed for client-server processing.
    1) The client makes a request for data/information.
    2) PL applies the back-end server logic and construct a SQL statement for the client.
    3) PL passes the SQL to the SQL engine where it is parsed and a SQL cursor created.
    4) PL passes a reference handle to SQL cursor back to the client
    5) The client can now fetch the rows output from the cursor.
    Advantages.
    - The client does not need to know SQL, db structures, business logic, etc
    - The PL code can be improved, modified, new business logic added, without even touching a single byte of client code
    So what are the advantages where the "client" in the above is another PL/SQL program? None really.
    A "real" client (an external one like Java, C#, Delphi, etc) can receive the ref cursor handle and dynamically at run-time determine the projection (output) of the cursor.
    PL code cannot (unless using the latest 11g features). In PL code, a ref cursor is actually implemented as a DBMS_SQL cursor. A DBMS_SQL cursor is to PL code what ref cursor is to Java/C#/etc.
    So whether you define a strongly typed or weakly typed ref cursor in PL/SQL code... typical response is "so what?" as ref cursors are not really intended for PL code. Not that there are exceptions - they do come in handy at times.. but as exceptions to the rule.
    So my response is "so what?" - it is more important to *correctly" chose what type of client cursor data type you want to use to interact with the back-end SQL cursor. Once that decision has been made (based on technical sound logic), then one can look at  (minor) issues such as weak vs. strong ref cursors.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • I HAVE A MAC G5 WITH V10.4 TIGER OS, I AM HAVING TROUBLE WITH THE LETTER "N" ONLY WHEN I USE CAPS AND SHIFT KEYS DOSE IT TYPE THE LETTER "N"SE

    HAVE A MAC G5 WITH V10.4 TIGER OS, I AM HAVING TROUBLE WITH THE LETTER "N" ONLY WHEN I USE CAPS AND SHIFT KEYS DOSE IT TYPE THE LETTER "N". I HAVE CONNECTED A NEW KEYBOARD BUT THE PROBLEM STILL EXIST. WHAT ELSE CAN I DO?

    You might look at "Keyboard Shortcuts" in the Keyboard and Mouse preference pane and see if somehow the lower case n has been inadvertently assigned to something.
    Probably the best solution would be to click the "Restore Defaults" button.

  • My iphone 4s keeps freezing up. I have restored it as a new phone. Done numerous resets. But it still keeps freezing up when im using apps and trying to text. Its really annoying.

    My iphone 4s keeps freezing up. I have restored it as a new phone. Done numerous resets. But it still keeps freezing up when im using apps and trying to text. Its really annoying.

    Oh OisinC7,
         I'm aslo experiencing similar problem. Tell me your country and what apps make your phone freeze?

  • When to use interface and when Abstract Class?

    In a recent interview I was asked "When to use interface and when Abstract Class?" Explain with an example.
    Also in what situations a class should be made final(real time example)

    Interface is a pure contract with no implementation. Typically used to define a communication contract between two different sub-systems. Example EJB home interface. This also allows the design to change as long as the contract is met.
    Abstract class is when there exists a lot of common functionality already known and can be coded. However, a few unknowns exists (typically about data) for which abstract methods need to be defined and implemented by the sub class.
    Example: Consider a workflow engine. A great example for abstract class. The workflow process has lot of common code that is independent of the workflow type (vendor flow, contract flow, payment flow etc). However, certain decisions on the route to take will depend on value of data being submitted. So the base class will define a abstract Data getData() method and proceed assuming data will come. The implementing subclass will provide the actual logic for getting the data.
    Also see the "Template" design pattern.
    Note: To some extent the common code design drives the behavior of the abstract methods. So if the design changes then so "might" the behavior expected from the abstract methods.

  • Masterdata - when to use it and when not to use it

    Hi!
    I have had some discussion with my colleagues about the use of masterdata on Oracle databases. Some of them tells me that I should use it if the data don't change often (ofcourse.....). This should ALWAYS be done they say. But I don't agree on this..
    Is it really necessary to make a lot of masterdata (and also views that has to be used) if the data is only to be loaded once a day, and the number of records is max 1000?
    I can't see the effect on this...
    Can someone give me a guideline for when to use masterdata, and when I don't need to use masterdata (if there are any article on this, please give it to me).
    Best Regards
    Helge

    Hi
    Answering this question usually requires a few books, so, I'm sorry, it's not really as simple as choosing between using a screwdriver vs. a hammer.
    But, very short, inheritance should ideally only be used when there exist a strict 'is-a' relationship. However, sometimes it may be clever to inherit when you have a 'is-almost-a' relationship... And sometimes this is a stupid move. This depends on the context/circumstances.
    Aggregation is normally considered a 'has-a' relationship, thereby differing clearly from inheritance. The old 'car' model says "a car is-a vehicle and has-some (at least) wheels."
    The wheels are aggregated to the car class, that itself is inherited from vehicle.
    However, this is just a good rule-of-thumb and there may be circumstantial reasons for not following these guidelines.

  • Blob setBytes and setBinaryStream Clarification Needed

    I'm writing a JDBC driver for SQL Server and working on the Blob implementation details.
    One thing that is not clear in the JDBC spec to me at least is the behavior of the call to setBytes and to setBinaryStream on a Blob.
    Say for a simple example I have a Blob with 5 bytes in it ->
    1 2 3 4 5
    AA BB CC DD EE
    So in the database these 5 bytes are stored. I open a Blob on this field.
    Then I call setBytes with offset of 3 and write bytes 11 22 33 44
    Do I get this ->
    1 2 3 4 5 6
    AA BB 11 22 33 44 <- Writes over data, also past end of Blob.
    Or this?
    1 2 3 4 5
    AA BB 11 22 33 <- Writes over data, but not past end of Blob.
    Or this?
    1 2 3 4 5 6 7 8 9
    AA BB 11 22 33 44 CC DD EE <- Inserts data at offset, pushes existing data to right.
    So in other words, does setBytes insert data at the insertion point, or start overwriting data at the insertion point? Also, does it allow you to keep writing the data in the backend Blob past the end of the Blob?
    Same goes for setBinaryStream. The API spec is not clear about the desired behavior.
    Thanks for any clues!
    Matt

    Well... looking at the API...
    public void setBytes(int parameterIndex, byte[] x)
        throws SQLExceptionSets the designated parameter to the given Java array of bytes.
    The driver converts this to an SQL VARBINARY or LONGVARBINARY
    (depending on the argument's size relative to the driver's limits
    on VARBINARY values) when it sends it to the database.
    public void setBinaryStream(int parameterIndex, InputStream x,int length)
        throws SQLExceptionSets the designated parameter to the given input stream, which will
    have the specified number of bytes. When a very large binary value
    is input to a LONGVARBINARY parameter, it may be more practical to send
    it via a java.io.InputStream object. The data will be read from the
    stream as needed until end-of-file is reached.
    It appears that setBytes() you pass in an entire in-memory array
    of bytes, whereas setBinaryStream() allows you to pass in an
    InputStream that contains the bytes.

  • When I use Firefox and Hotmail at startup, Firefox freezes for about 1 minute, and then I can continue. First I though it was my computer but 2 other girls in my class have the same problem with Hotmail and Firefox. What can I do to change this?

    When I start Firefox, about 15 seconds after I start it, my Firefox freezes for about 1 minute. I found out that it is my Hotmail that makes Firefox freeze.
    First I thought it was my computer, but I have 2 other girls in my class that use Hotmail and Firefox and their computer also freezes for 1 full minute.
    This is very annoying, what can I do to change this?
    xxx ellen
    p.s. I am from the Netherlands, maybe that has something to do with it?

    Try deleting cookies and cache:
    1. Tools| Clear recent history
    2. Time range to clear: Everything
    3. If it isn't already selected, select '''Cookies''' and '''Cache'''
    4. '''Clear now'''
    '''Check cookie exceptions'''
    1. Tools | Options | Privacy Panel
    2. Set '''Firefox will: Use custom settings for history.''' '''Insure Accept cookies for sites and accept third-party cookies''' is selected
    3. Click '''Exceptions'''. If the misbehaving site is in that list, select it and click '''Remove site'''
    '''Safe Mode'''
    Add-ons can cause problems with not being able to log into certain websites. To see if this is the case with your issue, run [[Safe mode]]. When you get to the safe mode window, select Continue in Safe Mode. If this resolves your problem, see [[Troubleshooting extensions and themes]] and [[Troubleshooting plugins]]
    Also see [[Updating Firefox]] and [[Cannot log in to websites]]

Maybe you are looking for

  • HT4236 I can't delete duplicate photos in my photo library

    I have duplicate photos on my iPhone 4S in my photo album.  How can I delete them?

  • Partner Profile creation

    Hi I have an idoc-xi-file scenario. For this I want to create partner profile(of partner type LS) in ECC system using we20. When I entered partner no. as DX1CLNT100 and saved (after filling all the information) it is throwing the error saying "The pa

  • How do I get the Nomad Jukebox 3 to work with MediaSource Organiz

    I tried to transfer songs, but MediaSource Organizer (Version 2.02.06)does not show the Jukebox 3 file library. I downloaded the latest version (CMS_PCAPP_LB_2_03_29.exe) of the application and when I tried to install it, I got the following message:

  • Problem in rendering customcomponents.

    Hi All, I am creating a customBreadcrumb component...for that in render class I am creating a HtmlCommandLink object for each breadcrumb and setting the Actions.that breadcrumbs component alone is working fine but when i use that component with other

  • At End Of Error.

    Hello Freinds, I am using At End Of..End At in my code but I am getting a runtime memory error. the code is   SORT gi_itab1 BY prctr poper ryear ktext.   gi_itab2[] = gi_itab1[].   CLEAR : gi_itab.   REFRESH : gi_itab.   LOOP AT gi_itab2 INTO gw_itab