ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mario Ds Briggs <mario.bri...@in.ibm.com>
Subject Re: How Do I Change Schema
Date Tue, 18 Aug 2009 05:59:25 GMT
Not really!!!  The 'Current schema' register controls this, you can even
change it by executing a 'SET CURRENT SCHEMA = XXX'

http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.db2.luw.sql.ref.doc/doc/r0005877.html

Mario



                                                                           
             pczurak                                                       
             <CZUPET@wsinc.com                                             
             >                                                          To 
                                       user-java@ibatis.apache.org         
             18/08/2009 11:17                                           cc 
                                                                           
                                                                   Subject 
             Please respond to         Re: How Do I Change Schema          
             user-java@ibatis.                                             
                apache.org                                                 
                                                                           
                                                                           
                                                                           
                                                                           





I have tried that, but DB2 does not like it, if you do not specify schema
DB2
automatically inserts UserID as the schema name



Mario Briggs wrote:
>
> If would suggest rather  to remove the harcoding of schema in the SQL
> statements now. In the long run this effort will be less than maintaining
> 2
> sets of files
>
> Mario
>
>
>
>

>              pczurak

>              <CZUPET@wsinc.com

>              >
To
>                                        user-java@ibatis.apache.org

>              18/08/2009 09:58
cc
>

>
Subject
>              Please respond to         Re: How Do I Change Schema

>              user-java@ibatis.

>                 apache.org

>

>

>

>

>
>
>
>
>
> Thank you for all of your help!
>
> I think I will just have 2 sets of XML files, one for Test and one for
> production, just have to remember to update or change both when something
> changes.
>
>
>
> Andy Law wrote:
>>
>>
>> pczurak wrote:
>>>
>>> I am sorry, I am very new to iBates, I do not know what this means
>>>
>>> "You'll have to make
>>> $schema$ a property of your parameter object. "
>>>
>>> how do I do this, can you point me to an example?
>>>
>>>
>>
>>
>> OK. When you hit the iBatis query code, you pass in a 'parameter' object
>> to the getObject/getList routine of the SqlMapClient...
>>
>> e.g.
>>
>> Object result = this.getSqlMapClient().queryForObject(statementName,
>> parameterObject);
>>
>>
>> The SQL statement that corresponds to the 'statementName' is then
>> extracted and parsed/prepared/run using values from the parameterObject
>> object.
>>
>> So, if the statement said....
>>
>> SELECT name, title, id
>> FROM person
>> WHERE person_uid = #accession#
>>
>> then this statement gets prepared into
>>
>> SELECT name, title, id
>> FROM person
>> WHERE person_uid = '?'
>>
>> and gets given the argument that results from either calling
>> parameterObject.getAccession() (if parameterObject is a bean) or
>> parameterObject.get("accession") (if parameterObject is a Map).
>>
>> If you try to do that with namespaces, it will fail because the
#varName#
>> syntax results in an invalid statement when it is prepared
>>
>> i.e.
>>
>> SELECT name, title, id
>> FROM #namespace#.person
>> WHERE person_uid = #accession#
>>
>> would get prepared into...
>>
>> SELECT name, title, id
>> FROM '?'.person
>> WHERE person_uid = '?'
>>
>>
>> which is invalid.
>>
>>
>> iBatis does have another syntax for inserting into statements however
>> which uses the $varName$ syntax.
>>
>> Thus:
>>
>> i.e.
>>
>> SELECT name, title, id
>> FROM $namespace$.person
>> WHERE person_uid = #accession#
>>
>> could get prepared into a valid statement.
>>
>> In order for this to work, you need to make your parameterObject return
a
>> valid reply when sent the message .getNamespace() or .get("namespace")
in
>> exactly the same way that the accession parameter is filled in. This
gets
>> called before the statement is prepared, so presuming that your
>> parameterObject reports 'freddy' in response to
>> parameterObject.getNamespace(), your statement would then be prepared
as:
>>
>> SELECT name, title, id
>> FROM freddy.person
>> WHERE person_uid = '?'
>>
>> and then the parameterObject would be asked for the accession argument
as
>> before.
>>
>> You should be aware though that this is a "dangerous exercise" as it
>> potentially opens your application up to SQL injection attacks. You
> should
>> NEVER use $varName$ insertion without rigorously checking the value
being
>> inserted.
>>
>> Hope that helps.
>>
>> Later,
>>
>> Andy
>>
>
> --
> View this message in context:
> http://www.nabble.com/How-Do-I-Change-Schema-tp24948645p25018289.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>
>

--
View this message in context:
http://www.nabble.com/How-Do-I-Change-Schema-tp24948645p25018874.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Mime
View raw message