Convert CHARACTER in Oracle to TIMESTAMP
Hi,
One of the mapping in which our team works has one of the source columns from Oracle with Data type as timestamp.One of the sample data looks like
13-OCT-06 03.10.52.448000 PM.
When we pull in the data structure of source in Informatica, this column appears as a 'LONG RAW'. And it is moved forward in transformation as 'BINARY'.
This mapping fails if we do no modification to the data types in Informatica. We manually edited it to 'DATE', it worked but the data comes out with no Millisecond value in the target; I.e. the data is truncated. We need to retain the milliseconds portion of the date as well.
can anyone guide us how to convert CHARACTER in Oracle to TIMESTAMP, as we find the conversion can help us if we can not do it within Informatica
thx
TO_TIMESTAMP('13-OCT-06 03.10.52.448000 PM', 'DD-MON-RR HH12.MI.SS.FF AM')Regards...
Similar Messages
-
NLS CHARACTER SET 변경 방법 (ORACLE 7)
제품 : ORACLE SERVER
작성날짜 : 2004-11-09
NLS CHARACTER SET 변경 방법 (ORACLE 7)
======================================
PURPOSE
이 자료는 Oracle RDBMS SERVER에서 NLS CHARACTER SET 변경 방법에 대한
내용을 소개한다.
[ ORACLE 7 에서만 가능 ]
데이타베이스의 CHARACTER SET은 데이타 딕셔너리 테이블인 sys.props$에
들어 있다.
SQL>desc sys.props$
Name Null? Type
NAME NOT NULL VARCHAR2(30)
VALUE$ VARCHAR2(2000)
COMMENT$ VARCHAR2(2000)
SQL>column c1 format a30
SQL>select name c1, value$ c1 from sys.props$;
C1 C1
DICT.BASE 2
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_DATE_FORMAT DD-MON-YY
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET US7ASCII
NLS_SORT BINARY
GLOBAL_DB_NAME NLSV7.WORLD
여기서 NLS_CHARACTERSET에 현재 DB의 CHARACTER SET이 들어 있는데
이 값을 변경하여 DB의 CHARACTER SET을 변경할 수 있다.
여기서는 US7ASCII에서 KO16KSC5601로 옮기는 경우를 알아보자.
우선 바꾸고자 하는 CHRACTER SET이 지원되는 지를 다음 명령으로
확인한다.
select convert('a','KO16KSC5601','US7ASCII') from dual;
만약 이 Select 문에서 ORA-01482 에러가 발생하면 지정한 CHARACTER
SET이 지원되지 않는 경우이며 에러가 발생하지 않으면 CHARACTER
SET을 변경할 수 있다.
작업을 하기 전에는 만약을 위해서 DB 전체를 백업 받아두도록 한다.
CHARACTER SET 을 잘못 변경하면 DB 를 OPEN 할 수가 없기 때문이다.
1. 다음의 Update문을 실행하여 CHARACTER SET을 변경한다.
UPDATE sys.props$
SET value$ = 'KO16KSC5601'
WHERE name = 'NLS_CHARACTERSET';
Update 시에 NLS_CHARACTERSET을 지원되지 않는 값으로 잘못 설정하거나
실수로 콘트롤 문자 같은 것이 들어가게 되면 DB가 Shutdown 된 다음에는
Startup 이 안되므로 Update 후에 다음 명령으로 확인을 한 다음에
Commit을 하도록 한다.
select name, value$
from sys.props$
where value$ = 'KO16KSC5601';
Select가 제대로 출력되면 Commit 하고 Shutdown 했다가 Startup 하게
되면 새로운 CHARACTER SET 값을 갖게 된다. SELECT가 안 되면 ROLLBACK
하고 UPDATE부터 다시 하도록 한다.
2. 환경 변수 NLS_LANG 을 변경한다.
.profile 에서
NLS_LANG=American_America.KO16KSC5601; export NLS_LANG
또는 .cshrc 에서.
setenv NLS_LANG American_America.KO16KSC5601
*** win95 및 winnt의 client에서는 registry editor에서 NLS_LANG 값을
맞추어준다.
주의 !!!
: 위의 작업을 하기 전에 발생할 가능성이 있는 문제점
1) update 중 KO16KSC5601 이나 US7ASCII 등에서 철자를 잘못 입력하시면,
db 재기동 후에, 다음과 같은 에러가 발생합니다.
ora-12708
12708, 00000, "error while loading create database NLS parameter %s"
2) KO16KSC5601과 US7ASCII의 비교
Character set : KO16KSC5601 인 경우
===================================
: double byte encoding schema 이므로, 한글의 경우 2 bytes 를 크기 1로
계산하는 함수들이 있습니다.
그리고, table , column name에 한글을 double quote 없이 사용할 수 있습니다.
예)
SQL> create table 시험1
2 (컬럼1 varchar(10));
가
a
홍길동
SQL> select length(컬럼1) from 시험1;
1
1
3
SQL> select lengthb(컬럼1) from 시험1;
2
1
6
Character set : US7ASCII 인 경우
=================================
: single byte 7 bit encoding 을 사용합니다.
한글로 된 table, column 이름 사용 시 double quote를 반드시 사용해야 한다.
예)
SQL> create table "사원"
2 ("사원이름" varchar2(10));
가
a
홍길동
SQL> select length("사원이름") from "사원";
2
1
6
SQL> select lengthb("사원이름") from "사원";
2
1
6
US7ASCII일 때에는 vsize, lengthb function의 결과가 length 함수와 모두
동일합니다.
cf) substr, substrb 함수도 위의 length, lengthb의 관계와 같음.제품 : ORACLE SERVER
작성날짜 : 2004-11-09
NLS CHARACTER SET 변경 방법 (ORACLE 7)
======================================
PURPOSE
이 자료는 Oracle RDBMS SERVER에서 NLS CHARACTER SET 변경 방법에 대한
내용을 소개한다.
[ ORACLE 7 에서만 가능 ]
데이타베이스의 CHARACTER SET은 데이타 딕셔너리 테이블인 sys.props$에
들어 있다.
SQL>desc sys.props$
Name Null? Type
NAME NOT NULL VARCHAR2(30)
VALUE$ VARCHAR2(2000)
COMMENT$ VARCHAR2(2000)
SQL>column c1 format a30
SQL>select name c1, value$ c1 from sys.props$;
C1 C1
DICT.BASE 2
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_DATE_FORMAT DD-MON-YY
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET US7ASCII
NLS_SORT BINARY
GLOBAL_DB_NAME NLSV7.WORLD
여기서 NLS_CHARACTERSET에 현재 DB의 CHARACTER SET이 들어 있는데
이 값을 변경하여 DB의 CHARACTER SET을 변경할 수 있다.
여기서는 US7ASCII에서 KO16KSC5601로 옮기는 경우를 알아보자.
우선 바꾸고자 하는 CHRACTER SET이 지원되는 지를 다음 명령으로
확인한다.
select convert('a','KO16KSC5601','US7ASCII') from dual;
만약 이 Select 문에서 ORA-01482 에러가 발생하면 지정한 CHARACTER
SET이 지원되지 않는 경우이며 에러가 발생하지 않으면 CHARACTER
SET을 변경할 수 있다.
작업을 하기 전에는 만약을 위해서 DB 전체를 백업 받아두도록 한다.
CHARACTER SET 을 잘못 변경하면 DB 를 OPEN 할 수가 없기 때문이다.
1. 다음의 Update문을 실행하여 CHARACTER SET을 변경한다.
UPDATE sys.props$
SET value$ = 'KO16KSC5601'
WHERE name = 'NLS_CHARACTERSET';
Update 시에 NLS_CHARACTERSET을 지원되지 않는 값으로 잘못 설정하거나
실수로 콘트롤 문자 같은 것이 들어가게 되면 DB가 Shutdown 된 다음에는
Startup 이 안되므로 Update 후에 다음 명령으로 확인을 한 다음에
Commit을 하도록 한다.
select name, value$
from sys.props$
where value$ = 'KO16KSC5601';
Select가 제대로 출력되면 Commit 하고 Shutdown 했다가 Startup 하게
되면 새로운 CHARACTER SET 값을 갖게 된다. SELECT가 안 되면 ROLLBACK
하고 UPDATE부터 다시 하도록 한다.
2. 환경 변수 NLS_LANG 을 변경한다.
.profile 에서
NLS_LANG=American_America.KO16KSC5601; export NLS_LANG
또는 .cshrc 에서.
setenv NLS_LANG American_America.KO16KSC5601
*** win95 및 winnt의 client에서는 registry editor에서 NLS_LANG 값을
맞추어준다.
주의 !!!
: 위의 작업을 하기 전에 발생할 가능성이 있는 문제점
1) update 중 KO16KSC5601 이나 US7ASCII 등에서 철자를 잘못 입력하시면,
db 재기동 후에, 다음과 같은 에러가 발생합니다.
ora-12708
12708, 00000, "error while loading create database NLS parameter %s"
2) KO16KSC5601과 US7ASCII의 비교
Character set : KO16KSC5601 인 경우
===================================
: double byte encoding schema 이므로, 한글의 경우 2 bytes 를 크기 1로
계산하는 함수들이 있습니다.
그리고, table , column name에 한글을 double quote 없이 사용할 수 있습니다.
예)
SQL> create table 시험1
2 (컬럼1 varchar(10));
가
a
홍길동
SQL> select length(컬럼1) from 시험1;
1
1
3
SQL> select lengthb(컬럼1) from 시험1;
2
1
6
Character set : US7ASCII 인 경우
=================================
: single byte 7 bit encoding 을 사용합니다.
한글로 된 table, column 이름 사용 시 double quote를 반드시 사용해야 한다.
예)
SQL> create table "사원"
2 ("사원이름" varchar2(10));
가
a
홍길동
SQL> select length("사원이름") from "사원";
2
1
6
SQL> select lengthb("사원이름") from "사원";
2
1
6
US7ASCII일 때에는 vsize, lengthb function의 결과가 length 함수와 모두
동일합니다.
cf) substr, substrb 함수도 위의 length, lengthb의 관계와 같음. -
Non supported character set: oracle-character-set-41
Hi everyone,
I have a issue while passing a VARRAY from my Java Class to Stored Procedure.
TYPE ERR_DATA_ARRAY AS VARRAY(100) OF VARCHAR2(1000);
In my code i have used ArrayDescriptor and ARRAY class of oracle.
When i run my program in eclipse i get following exception:-
java.sql.SQLException: Non supported character set: oracle-character-set-41
at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
at oracle.sql.CharacterSetUnknown.failCharsetUnknown(CharacterSetFactoryThin.java:171)
at oracle.sql.CharacterSetUnknown.convert(CharacterSetFactoryThin.java:135)
at oracle.sql.CHAR.<init>(CHAR.java:159)
at oracle.sql.CHAR.<init>(CHAR.java:183)
at oracle.jdbc.oracore.OracleTypeCHAR.toDatum(OracleTypeCHAR.java:161)
at oracle.jdbc.oracore.OracleType.toDatumArray(OracleType.java:166)
at oracle.jdbc.oracore.OracleTypeCHAR.toDatumArray(OracleTypeCHAR.java:208)
at oracle.sql.ArrayDescriptor.toOracleArray(ArrayDescriptor.java:1517)
at oracle.sql.ARRAY.<init>(ARRAY.java:117)
at com.niit.slims.common.ejb.Array_test.test(Array_test.java:52)
at com.niit.slims.common.ejb.Array_test.main(Array_test.java:20)
I have added ojdbc14.jar.And my working jdk is jdk1.4.
Plz help
Edited by: user10569173 on Dec 8, 2011 3:58 AMI am not an expert here,
but it seems that since you are using ojdbc14.jar you may actually need the
nls_charset12.jar
instead of the one I suggested previously.
Regards
Peter -
SQLException: Non supported character set: oracle-character-set-178
Hello,
I run a j2ee application on the Sun J2EE Application server.
I migrated to 0racle 9.2.0.3.
I have an ejb making a connexion with the oci driver
and in it I manipulate XMLType:
PreparedStatement pst = cnx.prepareStatement(sql);
XMLType xt = XMLType.createXML(cnx, "<ENTETE></ENTETE>");
pst.setObject(1, xt);
I've got an exception on the setObject method :
java.sql.SQLException: Non supported character set: oracle-character-set-178
at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
at oracle.sql.CharacterSetUnknown.failCharsetUnknown(CharacterSetFactory
Thin.java:171)
at oracle.sql.CharacterSetUnknown.convert(CharacterSetFactoryThin.java:1
35)
at oracle.xdb.XMLType.getBytesString(XMLType.java:1687)
at oracle.xdb.XMLType.getBytesValue(XMLType.java:1623)
at oracle.xdb.XMLType.toDatum(XMLType.java:431)
at oracle.jdbc.driver.OraclePreparedStatement.setORAData(OraclePreparedS
tatement.java:2745)
at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedSt
atement.java:3208)
I have the nsl_charset12.zip , ojdbc14.jar,xdb.jar,xmlparserv2.jar in the J2EE_CLASSPATH of my server.
Does any one have an idea.
Thanks , Edwige(*bump*)
Almost the exact same problem here...
"conn" is an object of type OracleConnection
"cst" is an object of type "CallableStatement"
"xml" is a String holding a well-formed XML document (say, "<foo><bar>value</bar></foo>")
XMLType xt = XMLType.createXML(conn, xml);
cst.setObject(1, xt); // BOOM! Non supported character set: oracle-character-set-178
Other relevant details:
Using the 9.2.0.3 JDBC thin client (ojdbc14.jar)
Using the newest nls_charset12.zip (in the 9.2.0.3 download section under the "1.2/1.3" heading.
JDK1.4.1_03 (04?)
Oracle itself is 9.2.0.3
database charset is 'WE8MSWIN1252' (yeah, I fought with the DBA and lobbied for UTF-8, but obviously he won that battle... sigh...)
Also relevant... prior to a few days ago, it worked. Then, the DBA did an upgrade and the charset errors began. It's hard to get a straight answer from him because his English isn't very good, but my guess is that he updated it from 9.2.0.1 to 9.2.0.3. -
May i use nls_charset12 to convert character set before executeQuery()?
i got a problem for the db nls character set
isn't us7ascii, so while retreiving data from database the data stored in ResultSet is changed to UTF-8 format. thus, my question is - how to convert character set before my executuing the method
executeQuery() or any other methods would be appreciated.
thanks in advice,This is Tommy. I saw your post on Oracle Forum. Can you give me the classes12.zip, classes12_g.zip, and nls_charset12.zip ?!
Thx in advance !!
Tommy fromTaiwan ( July 3, 2001 ) -
Error while calling data service: ClassCastException: oracle.sql.TIMESTAMP
I created a data service out of an Oracle datastore (table) which has a number of TIMESTAMP columns and deployed it in Axis2
When testing the Web Service in Designer, I get this error and can't find any solution:
com.sunopsis.wsinvocation.SnpsWSInvocationException: oracle.sql.TIMESTAMP cannot be cast to java.util.Date
at com.sunopsis.wsinvocation.client.a.a.d.requestReply(d.java)
at com.sunopsis.graphical.wsclient.f.b(f.java)
at com.sunopsis.graphical.tools.utils.swingworker.v.call(v.java)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
at com.sunopsis.graphical.tools.utils.swingworker.l.run(l.java)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:534)
Caused by: oracle.sql.TIMESTAMP cannot be cast to java.util.Date
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1550)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1149)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:1792)
at com.sunopsis.wsinvocation.client.a.a.d.a(d.java)
... 8 more
Caused by:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: oracle.sql.TIMESTAMP cannot be cast to java.util.Date
faultActor:
faultNode:
faultDetail:
{}stackTrace:java.lang.ClassCastException: oracle.sql.TIMESTAMP cannot be cast to java.util.Date
at com.sunopsis.data.transform.impl.DataTransformerUtilDate2SqlTimestamp.from(DataTransformerUtilDate2SqlTimestamp.java)
at com.sunopsis.data.transform.impl.generic.DataTransformerReverser.to(DataTransformerReverser.java)
at com.sunopsis.data.transform.impl.generic.DataTransformerIfNullThenExceptionWrapper.to(DataTransformerIfNullThenExceptionWrapper.java)
at com.sunopsis.data.transform.impl.generic.DataTransformerCombiner.to(DataTransformerCombiner.java)
at oracle.odi.dataservices.fwk.axis2.OMSerializer.objectToXsd(OMSerializer.java)
at oracle.odi.dataservices.fwk.axis2.OMSerializer.serializeManagedEntity(OMSerializer.java)
at oracle.odi.dataservices.fwk.axis2.OMSerializer.serializeManagedEntityList(OMSerializer.java)
at oracle.odi.dataservices.fwk.axis2.OMSerializer.serializeOMElement(OMSerializer.java)
at oracle.odi.dataservices.fwk.axis2.DataServicesMessageReceiver.invokeBusinessLogic(DataServicesMessageReceiver.java)
at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:144)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:279)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
at java.lang.Thread.run(Thread.java:619)
oracle.sql.TIMESTAMP cannot be cast to java.util.Date
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1550)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1149)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:1792)
at com.sunopsis.wsinvocation.client.a.a.d.a(d.java)
at com.sunopsis.wsinvocation.client.a.a.d.requestReply(d.java)
at com.sunopsis.graphical.wsclient.f.b(f.java)
at com.sunopsis.graphical.tools.utils.swingworker.v.call(v.java)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
at com.sunopsis.graphical.tools.utils.swingworker.l.run(l.java)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:534)What database are you doing this with?
B -
How to I convert data from oracle database into excel sheet
how to I convert data from oracle database into excel sheet.
I need to import columns and there datas from oracle database to microsoft excel sheet.
Please let me know the different ways for doing this.
Thanks.asktom.oracle.com has an excellent article on writing a PL/SQL procedure that dumps data to an Excel spreadsheet-- search for 'Excel' and it'll come up.
You can also use your favorite connection protocol (ODBC, OLE DB, etc) to connect from Excel to Oracle and pull the data out that way.
Justin -
Error while converting schema from oracle to SQL server
Hello,
I am getting following error while converting schema from oracle to SQL server using SSMA.
I get Errors 1-3 while migrating procedures and error 4 while migrating a table.
1- O2SS0050: Conversion of identifier 'SYSDATE' is not supported.
2- O2SS0050: Conversion of identifier 'to_date(VARCHAR2, CHAR)' is not supported.
3- O2SS0050: Conversion of identifier 'regexp_replace(VARCHAR2, CHAR)' is not supported.
4- O2SS0486: <Primary key name> constraint is disabled in Oracle and cannot be converted because SQL Server does not support disabling of primary or unique constraint.
Please suggest.
Thanks.The exact statement in oracle side which causing this error (O2SS0050:
Conversion of identifier 'to_date(VARCHAR2, CHAR)' is not supported.) is below:
dStartDate:= to_date(sStartDate,'MON-YYYY');
Statement causing error O2SS0050:
Conversion of identifier 'regexp_replace(VARCHAR2, CHAR)' is not supported is below.
nCount2:= length(regexp_replace(sDataRow,'[^,]'));
So there is no statement which is using to_date(VARCHAR2,
CHAR) and regexp_replace(VARCHAR2, CHAR) in as such. 'MON-YYYY' and '[^,]'
are CHAR values hence SSMA is unable to convert it from varchar2 to char.
Regarding SYSDATE issue, you mean to put below code in target(SQL) side in SSMA ?
dDate date := sysdate;
Thanks. -
Flat File Load Issue - Cannot convert character sets for one or more charac
We have recently upgraded our production BW system to SPS 17 (BW SP19)
and we have issues loading flat files (contain Chinese, Japanese and
Korean characters) which worked fine before the upgrade. The Asian
languages appear as invalid characters (garbled) as we can see in PSA. The Character Set
Settings was previously set as Default Setting and it worked fine until
the upgrade abd we referred to note 1130965 and with the code page 1100
the load went through (without the Cannot convert character sets for one or more characters error) however the Asian language characters will appear
as invalid characters. We tried all the code pages suggested in the note e.g.
4102, 4103 etc on the info packages but it did not work. Note that the
flat files are encoded in UTF-8.I checked lower case option for all IO
When i checked the PSA failed log no of records processed is "0 of 0" my question is with out processing single record system is througing this error message.
When i use same file loading from local workstation no error message
I am thinking when I FTP the file from AS/400 to BI Application Server(Linex) some invalid characters are adding but how can we track that invalid char?
Gurus please share your thoughts on this I will assign full points.
Thanks, -
Cannot convert character sets for one or more characters
Hello,
Issue:
Source File: Test.csv
Source file dropped on application server as csv file via FTP
Total records in csv file 102396
I can able to load only 38,000 records after that I am getting error message " convert character sets for one or more characters" while loading into PSA .
If i load same csv file from local workstation I am not getting any error message I can able to load total 102396 records.
I am guessing while FTP the file into Application server some invalid codes adding?
But I am FTP 7 files, out of 7 I am unable to load only 1 file.
Anybody have faced this kind of problem please share with me I will assign full points
ThanksI checked lower case option for all IO
When i checked the PSA failed log no of records processed is "0 of 0" my question is with out processing single record system is througing this error message.
When i use same file loading from local workstation no error message
I am thinking when I FTP the file from AS/400 to BI Application Server(Linex) some invalid characters are adding but how can we track that invalid char?
Gurus please share your thoughts on this I will assign full points.
Thanks, -
Cannot convert character sets for one or more characters Error message
Hello,
I am getting this error message "Cannot convert character sets for one or more characters" when i try to transfer the data from Application server file as CSV to PSA.
Using T-code AL11
Under SAP Directory I open my file I can able to see all contents of my file right?
But i can't able to see all my data because of this I am getting ths error message?
I am loading Master data attribute
Is there any limitation on record length?
Please share your thought..
ThanskWhich length should not exceed 60.
When i load the same file from local workstation I can able to load no error message
Why I am getting if i load same file from application server?
Thanks -
Convert character sets for one or more characters
Hello,
Issue:
Source File: Test.csv
Source file dropped on application server as csv file via FTP
Total records in csv file 102396
while loading into PSA I can able to load only 38,000 records after that I am getting error message " convert character sets for one or more characters" .
If i load same csv file from local workstation I am not getting any error message I can able to load total 102396 records.
Anybody have faced this kind of problem please share with me I will assign full points
ThanksHi,
check
Flatfile Issue
Regards,
Arek -
A silly question about oracle.sql.timestamp and java.sql.timestamp
Hi,
I'm looking at a method that takes objects of type Object and does stuff if the object is really a java.sql.timestamp. If it is not then an error is flagged. In my case it flags an error when an object of type oracle.sql.timestamp is passed to it. Not really entirely comfortable with java (i'm still learning it), here's my stupid question :- why isn't oracle.sql.timestamp a subclass of java.sql.timestamp? Also in various books it indicates that java.sql.timestamp maps to oracle.sql.timestamp. Does that mean you have to physically do the mapping:
i.e.
java.sql.Timestamp t = new Timestamp( new oracle.sql.Timestamp( CURRENTTIMESTAMP ).timestampValue() );
or is there something else to it.
Thanks.
Harold.The best forum for this is probably Forum Home » Java » SQLJ/JDBC
Presumably you are refering to oracle.sql.TIMESTAMP. While this is intended to (and does) correspond to java.sql.Timestamp it can't be a subclass because it needs to be a subclass of oracle.sql.Datum. -
Ms sql date format is coming as oracle.sql.TIMESTAMP
Hi,
Instead of getting the date as mm-dd-yy i am getting the dates in ms sql as below. Can someone pls advise how to rectify this.. Thanks
oracle.sql.TIMESTAMP@16dcbc9
oracle.sql.TIMESTAMP@15e3974
oracle.sql.TIMESTAMP@10e0904
oracle.sql.TIMESTAMP@721e92Rectify what?
No Oracle database version number?
Where is the table's DDL or description?
No idea what you are getting the date from ... is it MS SQL across a heterogenous link or a .NET app?
No idea what tool you are using ... SQL*Plus or TOAD or Excel with ODBC
If you want help you need to provide sufficient information such that the person trying to help you understands what is actually happening.
Try as I might I can not look through my monitor and see yours. ;-) -
Hi,
i am trying to execute an Oracle procedure from JDBC. The procedure accepts a Nested table as an input parameter. Definition of the nested table is given below.
Database – Oracle 10g.
Application Server – JBOSS 4.2.1
I get the following exception._
java.sql.SQLException: Non supported character set: oracle-character-set-178
at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
I. JDBC Code_
Session s = HibernateUtil.getSession();
Transaction tr = s.beginTransaction();
con=s.connection();
oraConn = (OracleConnection) con.getMetaData().getConnection();
TableObject obj=new TableObject();
obj.setId(new Integer(123));//Tested ok, stroing in DB
obj.setDescr("test"); // this line throwing error
obj.setCre_user(new Integer(456));
obj.setUpd_user(new Integer(789));
obj.setXfr_flag("Y");
ArrayList al=new ArrayList();
al.add(obj);
Object[] objAray = al.toArray();
ArrayDescriptor arrayDescriptor =ArrayDescriptor.createDescriptor("T_TEST_SYN", oraConn);
ARRAY oracleArray = new ARRAY(arrayDescriptor, oraConn, objAray);
cs = (OracleCallableStatement)oraConn.prepareCall("call PKG_OBJ_TEST.accept_ui_input(?) ");
cs.setArray(1, oracleArray);
cs.execute();
tr.commit();
public class TableObject implements SQLData{
private String sql_type = "T_OBJ_TEST";
private int id;
private String descr;
//private Date cre_date;
private int cre_user;
//private Date upd_date;
private int upd_user;
private String xfr_flag;
public TableObject()
public TableObject (int id,String descr,int cre_user,int upd_user,String xfr_flag)
// this.sql_type = sql_type;
this.id = id;
this.descr = descr;
// this.cre_date=cre_date;
this.cre_user=cre_user;
//this.upd_date=upd_date;
this.upd_user=upd_user;
this.xfr_flag=xfr_flag;
public String getSQLTypeName() throws SQLException {
return "T_OBJ_TEST";
public void readSQL(SQLInput stream, String typeName) throws SQLException {
//sql_type = typeName;
id=stream.readInt();
descr=stream.readString();
//cre_date=stream.readDate();
cre_user=stream.readInt();
//upd_date=stream.readDate();
upd_user=stream.readInt();
xfr_flag=stream.readString();
public void writeSQL(SQLOutput stream) throws SQLException {
try {
stream.writeInt(this.id);
System.out.println("Iddddd");
stream.writeString(this.descr);
System.out.println("Desccccccccccccccc"+":"+descr);
//stream.writeDate(cre_date);
stream.writeInt(this.cre_user);
System.out.println("userrrrrrrrrrrr");
//stream.writeDate(upd_date);
stream.writeInt(this.upd_user);
System.out.println("upd uiserrrrrrrrrrr");
stream.writeString(this.xfr_flag);
System.out.println("flagggggggggggggggggggg"+xfr_flag);
}catch (SQLException se) {
System.out.println("Table object sql exception");
se.printStackTrace();
catch (Exception e) {
System.out.println("Table object exception");
* @return the id
public int getId() {
return id;
* @param id the id to set
public void setId(Object obj) {
Integer iobj= (Integer)obj;
this.id =iobj.intValue();
* @return the descr
public String getDescr() {
System.out.println("getDescr "+descr);
return descr;
* @param descr the descr to set
public void setDescr(Object obj) {
System.out.println("setDescr "+obj);
String sobj = (String)obj;
this.descr=sobj.toString();
System.out.println("setDescr "+obj);
* @return the cre_user
public int getCre_user() {
return cre_user;
* @param cre_user the cre_user to set
public void setCre_user(Object obj) {
Integer iobj=(Integer)obj;
this.cre_user = iobj.intValue();
* @return the upd_user
public int getUpd_user() {
return upd_user;
* @param upd_user the upd_user to set
public void setUpd_user(Object obj) {
Integer iobj=(Integer)obj;
this.upd_user = iobj.intValue();
* @return the xfr_flag
public String getXfr_flag() {
return xfr_flag;
* @param xfr_flag the xfr_flag to set
public void setXfr_flag(Object obj) {
this.xfr_flag = (String)xfr_flag;
II. Oracle database object details
Details of Object and Nested table created in the database.
T_TEST_SYN is a public synonym created for t_tab_obj_test
CREATE OR REPLACE TYPE t_obj_test as object (
id number(10),
descr varchar2(100),
--cre_date date,
cre_user number(10),
--upd_date date,
upd_user number(10),
xfr_flag varchar2(1),
CONSTRUCTOR FUNCTION t_obj_test ( id IN NUMBER DEFAULT NULL,
descr IN varchar2 default null,
--cre_date in date default null,
cre_user in number default null,
--upd_date in date default null,
upd_user in number default null,
xfr_flag in varchar2 default null ) RETURN SELF AS RESULT ) ;
CREATE OR REPLACE TYPE BODY t_obj_test as
CONSTRUCTOR FUNCTION t_obj_test ( id IN NUMBER DEFAULT NULL,
descr IN varchar2 default null,
--cre_date in date default null,
cre_user in number default null,
--upd_date in date default null,
upd_user in number default null,
xfr_flag in varchar2 default null ) RETURN SELF AS RESULT IS
BEGIN
SELF.id := id ;
SELF.descr := descr ;
--SELF.cre_date := cre_date ;
SELF.cre_user := cre_user ;
--SELF.upd_date := cre_date ;
SELF.upd_user := cre_user ;
SELF.xfr_flag := xfr_flag ;
RETURN ;
END ;
END ;
CREATE OR REPLACE TYPE t_tab_obj_test AS TABLE OF t_obj_test ;
CREATE OR REPLACE PACKAGE BODY PKG_OBJ_TEST AS
PROCEDURE accept_ui_input ( p_tab_obj_test in T_TAB_OBJ_TEST ) IS
BEGIN
FOR row IN p_tab_obj_test.First .. p_tab_obj_test.LAST
LOOP
INSERT INTO OBJ_TEST ( ID,
DESCR,
CRE_DATE,
CRE_USER,
UPD_DATE,
UPD_USER,
XFR_FLAG )
VALUES ( p_tab_obj_test(row).ID,
p_tab_obj_test(row).DESCR,
NULL,
p_tab_obj_test(row).CRE_USER,
NULL,
p_tab_obj_test(row).UPD_USER,
p_tab_obj_test(row).XFR_FLAG ) ;
END LOOP ;
COMMIT ;
END accept_ui_input ;
END PKG_OBJ_TEST;
/Check your CLASSPATH enviroment variable. Try to add something like c:\Ora10g\jlib\orai18n.jar.
From "JDBC Developers Guide and Reference":
orai18n.jar
Contains classes for globalization and multibyte character sets support
This solved the same error in my case.
Maybe you are looking for
-
Hi , I have two internal tables having with different structures . Finally I need to pass data to final internal table. In runtime we have data in only one table. The final internal table should take either internal1, or internal table 2. it_final_d
-
Select for all entries in table - only interested in the top entry
Hi gurus, I have a general question: We have the task to select entries from a certain database table (that possibly holds millions of entries in the productive environment). We also have an internal table at out hands that holds all candiates e.g a
-
How to verify replication is in sync or not in transactional replication
Hi Freinds, How o verify whether transactional replication is in sync. Thanks in advancce. Shashikala
-
"Questions"/"Posts" nonsense
This 'Question' nonsense is taking the compelxity of the new forums FAR too far. I have posted a real question today, but I did not mark it as a 'Question'. Therefore it appears in My Posts, but not in My Questions - even though it is a question. Wit
-
IPhoto library open failure?
Problem opening iPhoto?