You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-cs@ibatis.apache.org by Régis BRULEY <re...@bruley.org> on 2009/07/10 19:19:49 UTC

RE : Re: RE : Re: Reuse of statement in an other statement

Ok thanks a lot ! I'll try it right on my return on my computer.

have a nice week End.

Bye

Régis

Le 10 juil. 2009, 7:07 PM, "Michael McCurrey" <mm...@gmail.com> a
écrit :

You can't have your statement pass a dynamic parameter to that; however, you
can 'catch' statement parameters in your sql fragment.

For example:
    <sql id="Fragment">
      insert into MySuperTable(Column1)
values(#MyVariable,type=String,dbType=VarChar#)
    </sql>

On Fri, Jul 10, 2009 at 9:57 AM, Régis BRULEY <re...@bruley.org> wrote: > >
Hi, > > Test that's he...

RE: Using SQL Server 2k8 - Table Value Parameters in iBatis .net

Posted by "Srinivas.Junnuru" <Sr...@target.com>.
Thanks Mike.

The custom type handler for the SqlDbType.Structured that worked for me is as simple as this:

    /// <summary>
    /// Custom Type Handler class for iBatis to support the Structured SqlDbType in .NET which is
    /// needed to support the Table Value Parameter (TVP) type in SQL2k8
    /// </summary>
    public class SQLStructuredTypeHandler : ITypeHandlerCallback
    {

        /// <summary>
        /// Return the same value from the current getter
        /// </summary>
        /// <param name="getter"></param>
        /// <returns></returns>
        public object GetResult(IResultGetter getter)
        {
            return getter.Value;
        }

        /// <summary>
        /// Return the nullable equivalent as null;
        /// </summary>
        public object NullValue
        {
            get { return null; }
        }

        /// <summary>
        /// Set the SqlDbType to Structured and set the setter's value to the parameter value
        /// </summary>
        /// <param name="setter"></param>
        /// <param name="parameter"></param>
        public void SetParameter(IParameterSetter setter, object parameter)
        {
            SqlParameter sqlp = (SqlParameter)setter.DataParameter;
            sqlp.SqlDbType = SqlDbType.Structured;
            setter.Value = parameter;
        }

        /// <summary>
        /// Return the parsed value of this type from a string
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public object ValueOf(string s)
        {
            return s;
        }
    }

Srini Junnuru | Sr. Technical Consultant l *TARGET Stores Development l 612.304.8167(office) | 612.304.6300(fax)
From: Michael McCurrey [mailto:mmccurrey@gmail.com]
Sent: Sunday, July 12, 2009 10:39 AM
To: user-cs@ibatis.apache.org
Subject: Re: Using SQL Server 2k8 - Table Value Parameters in iBatis .net

I'm looking into it Srini.  I'm more of a non-sql server guy myself so I'm trying to get a handle on it.

On Sat, Jul 11, 2009 at 3:12 PM, Srinivas.Junnuru <Sr...@target.com>> wrote:

Just a followup.

Hoping that this feature will be supported out of the box in the next version of DataMapper that targets .NET 3.5 and later.



Thanks

-Srini



________________________________

From: Srinivas.Junnuru [mailto:Srinivas.Junnuru@target.com<ma...@target.com>]
Sent: Saturday, July 11, 2009 5:09 PM

To: user-cs@ibatis.apache.org<ma...@ibatis.apache.org>; michael@mccurrey.com<ma...@mccurrey.com>
Subject: RE: Using SQL Server 2k8 - Table Value Parameters in iBatis .net



Nevermind.

I got it working by creating a Custom Type Handler for this particular datatype i.e. SqlDbType.Structured



Thanks

-Srini



________________________________

From: Srinivas.Junnuru [mailto:Srinivas.Junnuru@target.com<ma...@target.com>]
Sent: Saturday, July 11, 2009 12:49 PM
To: user-cs@ibatis.apache.org<ma...@ibatis.apache.org>; michael@mccurrey.com<ma...@mccurrey.com>
Subject: Using SQL Server 2k8 - Table Value Parameters in iBatis .net



Hello,

Any example or input on how to pass Table Value Parameters (which are supported in Sql Server 2008)  to a Stored Proc using IBatis.net Data Mapper?  I am using Data Mapper 1.6.1





Here is a link on how to use TVPs  using Sql ADO .net provider directly. Not able to get this to work thru iBatis.

http://msdnrss.thecoderblogs.com/2009/03/20/table-value-parameter-used-in-net-simple-sample/





Thanks in advance

-Srini







________________________________

From: regis.bruley@gmail.com<ma...@gmail.com> [mailto:regis.bruley@gmail.com<ma...@gmail.com>] On Behalf Of Régis BRULEY
Sent: Friday, July 10, 2009 12:20 PM
To: user-cs@ibatis.apache.org<ma...@ibatis.apache.org>; michael@mccurrey.com<ma...@mccurrey.com>
Subject: RE : Re: RE : Re: Reuse of statement in an other statement



Ok thanks a lot ! I'll try it right on my return on my computer.

have a nice week End.

Bye

Régis

Le 10 juil. 2009, 7:07 PM, "Michael McCurrey" <mm...@gmail.com>> a écrit :

You can't have your statement pass a dynamic parameter to that; however, you can 'catch' statement parameters in your sql fragment.

For example:
    <sql id="Fragment">
      insert into MySuperTable(Column1) values(#MyVariable,type=String,dbType=VarChar#)
    </sql>

On Fri, Jul 10, 2009 at 9:57 AM, Régis BRULEY <re...@bruley.org>> wrote: > > Hi, > > Test that's he...



--
Michael J. McCurrey
Read with me at http://www.mccurrey.com
http://chaoticmindramblings.blogspot.com/

Re: Using SQL Server 2k8 - Table Value Parameters in iBatis .net

Posted by Michael McCurrey <mm...@gmail.com>.
I'm looking into it Srini.  I'm more of a non-sql server guy myself so I'm
trying to get a handle on it.


On Sat, Jul 11, 2009 at 3:12 PM, Srinivas.Junnuru <
Srinivas.Junnuru@target.com> wrote:

>  Just a followup.
>
> Hoping that this feature will be supported out of the box in the next
> version of DataMapper that targets .NET 3.5 and later.
>
>
>
> Thanks
>
> -Srini
>
>
>  ------------------------------
>
> *From:* Srinivas.Junnuru [mailto:Srinivas.Junnuru@target.com]
> *Sent:* Saturday, July 11, 2009 5:09 PM
> *To:* user-cs@ibatis.apache.org; michael@mccurrey.com
> *Subject:* RE: Using SQL Server 2k8 - Table Value Parameters in iBatis
> .net
>
>
>
> Nevermind.
>
> I got it working by creating a Custom Type Handler for this particular
> datatype i.e. SqlDbType.Structured
>
>
>
> Thanks
>
> -Srini
>
>
>  ------------------------------
>
> *From:* Srinivas.Junnuru [mailto:Srinivas.Junnuru@target.com]
> *Sent:* Saturday, July 11, 2009 12:49 PM
> *To:* user-cs@ibatis.apache.org; michael@mccurrey.com
> *Subject:* Using SQL Server 2k8 - Table Value Parameters in iBatis .net
>
>
>
> Hello,
>
> Any example or input on how to pass Table Value Parameters (which are
> supported in Sql Server 2008)  to a Stored Proc using IBatis.net Data
> Mapper?  I am using Data Mapper 1.6.1
>
>
>
>
>
> Here is a link on how to use TVPs  using Sql ADO .net provider directly.
> Not able to get this to work thru iBatis.
>
>
> http://msdnrss.thecoderblogs.com/2009/03/20/table-value-parameter-used-in-net-simple-sample/
>
>
>
>
>
> Thanks in advance
>
> -Srini
>
>
>
>
>
>
>  ------------------------------
>
> *From:* regis.bruley@gmail.com [mailto:regis.bruley@gmail.com] *On Behalf
> Of *Régis BRULEY
> *Sent:* Friday, July 10, 2009 12:20 PM
> *To:* user-cs@ibatis.apache.org; michael@mccurrey.com
> *Subject:* RE : Re: RE : Re: Reuse of statement in an other statement
>
>
>
> Ok thanks a lot ! I'll try it right on my return on my computer.
>
> have a nice week End.
>
> Bye
>
> Régis
>
> Le 10 juil. 2009, 7:07 PM, "Michael McCurrey" <mm...@gmail.com> a
> écrit :
>
> You can't have your statement pass a dynamic parameter to that; however,
> you can 'catch' statement parameters in your sql fragment.
>
> For example:
>     <sql id="Fragment">
>       insert into MySuperTable(Column1)
> values(#MyVariable,type=String,dbType=VarChar#)
>     </sql>
>
> On Fri, Jul 10, 2009 at 9:57 AM, Régis BRULEY <re...@bruley.org> wrote: >
> > Hi, > > Test that's he...
>
>


-- 
Michael J. McCurrey
Read with me at http://www.mccurrey.com
http://chaoticmindramblings.blogspot.com/

RE: Using SQL Server 2k8 - Table Value Parameters in iBatis .net

Posted by "Srinivas.Junnuru" <Sr...@target.com>.
Just a followup.
Hoping that this feature will be supported out of the box in the next version of DataMapper that targets .NET 3.5 and later.

Thanks
-Srini

________________________________
From: Srinivas.Junnuru [mailto:Srinivas.Junnuru@target.com]
Sent: Saturday, July 11, 2009 5:09 PM
To: user-cs@ibatis.apache.org; michael@mccurrey.com
Subject: RE: Using SQL Server 2k8 - Table Value Parameters in iBatis .net

Nevermind.
I got it working by creating a Custom Type Handler for this particular datatype i.e. SqlDbType.Structured

Thanks
-Srini

________________________________
From: Srinivas.Junnuru [mailto:Srinivas.Junnuru@target.com]
Sent: Saturday, July 11, 2009 12:49 PM
To: user-cs@ibatis.apache.org; michael@mccurrey.com
Subject: Using SQL Server 2k8 - Table Value Parameters in iBatis .net

Hello,
Any example or input on how to pass Table Value Parameters (which are supported in Sql Server 2008)  to a Stored Proc using IBatis.net Data Mapper?  I am using Data Mapper 1.6.1


Here is a link on how to use TVPs  using Sql ADO .net provider directly. Not able to get this to work thru iBatis.
http://msdnrss.thecoderblogs.com/2009/03/20/table-value-parameter-used-in-net-simple-sample/


Thanks in advance
-Srini



________________________________
From: regis.bruley@gmail.com [mailto:regis.bruley@gmail.com] On Behalf Of Régis BRULEY
Sent: Friday, July 10, 2009 12:20 PM
To: user-cs@ibatis.apache.org; michael@mccurrey.com
Subject: RE : Re: RE : Re: Reuse of statement in an other statement


Ok thanks a lot ! I'll try it right on my return on my computer.

have a nice week End.

Bye

Régis
Le 10 juil. 2009, 7:07 PM, "Michael McCurrey" <mm...@gmail.com>> a écrit :

You can't have your statement pass a dynamic parameter to that; however, you can 'catch' statement parameters in your sql fragment.

For example:
    <sql id="Fragment">
      insert into MySuperTable(Column1) values(#MyVariable,type=String,dbType=VarChar#)
    </sql>

On Fri, Jul 10, 2009 at 9:57 AM, Régis BRULEY <re...@bruley.org>> wrote: > > Hi, > > Test that's he...

RE: Using SQL Server 2k8 - Table Value Parameters in iBatis .net

Posted by "Srinivas.Junnuru" <Sr...@target.com>.
Nevermind.
I got it working by creating a Custom Type Handler for this particular datatype i.e. SqlDbType.Structured

Thanks
-Srini

________________________________
From: Srinivas.Junnuru [mailto:Srinivas.Junnuru@target.com]
Sent: Saturday, July 11, 2009 12:49 PM
To: user-cs@ibatis.apache.org; michael@mccurrey.com
Subject: Using SQL Server 2k8 - Table Value Parameters in iBatis .net

Hello,
Any example or input on how to pass Table Value Parameters (which are supported in Sql Server 2008)  to a Stored Proc using IBatis.net Data Mapper?  I am using Data Mapper 1.6.1


Here is a link on how to use TVPs  using Sql ADO .net provider directly. Not able to get this to work thru iBatis.
http://msdnrss.thecoderblogs.com/2009/03/20/table-value-parameter-used-in-net-simple-sample/


Thanks in advance
-Srini



________________________________
From: regis.bruley@gmail.com [mailto:regis.bruley@gmail.com] On Behalf Of Régis BRULEY
Sent: Friday, July 10, 2009 12:20 PM
To: user-cs@ibatis.apache.org; michael@mccurrey.com
Subject: RE : Re: RE : Re: Reuse of statement in an other statement


Ok thanks a lot ! I'll try it right on my return on my computer.

have a nice week End.

Bye

Régis
Le 10 juil. 2009, 7:07 PM, "Michael McCurrey" <mm...@gmail.com>> a écrit :

You can't have your statement pass a dynamic parameter to that; however, you can 'catch' statement parameters in your sql fragment.

For example:
    <sql id="Fragment">
      insert into MySuperTable(Column1) values(#MyVariable,type=String,dbType=VarChar#)
    </sql>

On Fri, Jul 10, 2009 at 9:57 AM, Régis BRULEY <re...@bruley.org>> wrote: > > Hi, > > Test that's he...

Using SQL Server 2k8 - Table Value Parameters in iBatis .net

Posted by "Srinivas.Junnuru" <Sr...@target.com>.
Hello,
Any example or input on how to pass Table Value Parameters (which are supported in Sql Server 2008)  to a Stored Proc using IBatis.net Data Mapper?  I am using Data Mapper 1.6.1


Here is a link on how to use TVPs  using Sql ADO .net provider directly. Not able to get this to work thru iBatis.
http://msdnrss.thecoderblogs.com/2009/03/20/table-value-parameter-used-in-net-simple-sample/


Thanks in advance
-Srini



________________________________
From: regis.bruley@gmail.com [mailto:regis.bruley@gmail.com] On Behalf Of Régis BRULEY
Sent: Friday, July 10, 2009 12:20 PM
To: user-cs@ibatis.apache.org; michael@mccurrey.com
Subject: RE : Re: RE : Re: Reuse of statement in an other statement


Ok thanks a lot ! I'll try it right on my return on my computer.

have a nice week End.

Bye

Régis
Le 10 juil. 2009, 7:07 PM, "Michael McCurrey" <mm...@gmail.com>> a écrit :

You can't have your statement pass a dynamic parameter to that; however, you can 'catch' statement parameters in your sql fragment.

For example:
    <sql id="Fragment">
      insert into MySuperTable(Column1) values(#MyVariable,type=String,dbType=VarChar#)
    </sql>

On Fri, Jul 10, 2009 at 9:57 AM, Régis BRULEY <re...@bruley.org>> wrote: > > Hi, > > Test that's he...