Convert from sybase bcp to sql*loader
I'm an oracle newbie. (Oracle 8i, HP Unix)
Is there any way to convert sybase bcp format
files into sql*loader control files? If not
is there any way to take an existing table
description and generate a sql*loader control file from it? If anyone has already written a procedure or knows where one can be found I'd really appreciate it. We're doing a mass conversion from sybase to oracle and would like an easy way to re-write all our loads.
Thanks! Eileen from Polaroid.
The Oracle Migration Workbench will produce the appropriate bcp and sqlldr scripts if you are using the workbench for the migration. The latest workbench runs on windows but can connect to sybase on unix and oracle on unix over the network.
Turloch
Oracle Migration Workbench Team
Similar Messages
-
Keys lost in converting from sybase to oracle
I am trying to convert from sybase 12 to oracle 10 using the migration workbench.
The oracle data base created does not have the primary keys that were in the sybase data base. I used the tool to create migration scripts, Create.sql and Drop.sql. These scripts create the tables but do not have primary keys in them.
Another question is I have user types from the sybase database. Is it possible to change them in the tool? Right now it looks like I can only change the basic database types as in smallInt.Hi <Please Supply Your Name>,
What version of SQL Developer are you using?
"Create.sql" and "Drop.sql" sound like old OMWB names, Just want to double check.
Thanks
Dermot. -
Not loading from flat file using SQL*Loader
Hi,
I am trying to load from an excel file.
first i converted excel file into csv file and save it as as dat file.
in the excel file one column is salary and the data is like $100,000
while converting xls to csv the salary is changed to "$100,000 " (with quotes and a space after the amount)
after the last digit it will put a space.
in the control file of sql*loader i had given
salary "to_number('L999,999')"
my problem is the space after the salary in the dat file.---> "$100,000 "
what changes i have to make in the to_number function which is in the control file.
Please guide me.
Thanks & Regards
Salih KM
Message was edited by:
kmsalihThanks a lot Jens Petersen
It's is loading ..........
MI means miniute.
am i correct.
but i didn't get the logic behind that.
can u please explain that.
Thanks & Regards
Salih KM -
How to Load Arabic Data from flat file using SQL Loader ?
Hi All,
We need to load Arabic data from an xls file to Oracle database, Request you to provide a very good note/step to achieve the same.
Below are the database parameters used
NLS_CHARACTERSET AR8ISO8859P6
nls_language american
DB version:-10g release 2
OS: rhel 5
Thanks in advance,
SatishTry to save your XLS file into CSV format and set either NLS_LANG to the right value or use SQL*Loader control file parameter CHARACTERSET.
See http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_control_file.htm#i1005287 -
Loading from text file using Sql Loader
I need to load data from a text file into Oracle table. The file has long strings of text in the following format:
12342||||||Lots and lots of text with all kinds of characters including
^&*!#%#^@ etc.xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyyyyytrrrrrrrrrrrrrrrrrrr
uuuuuuuuuuuuuuuuuuurtgggggggggggggggg.||||||||
45356|||||||||||again lots and lots of text.uuuuuudccccccccccccccccccccd
gyhjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkklllllllllllnmmmmmmmmmmmmnaaa|||||||.
There are pipes within the text as well. On the above example, the line starting with 12342 is an entire record that needs to be loaded into a CLOB column. The next record would be the 45356 one. Therefore, all records have a bunch of pipes at the end, so the only way to know where a new record starts is to see where the next number is after all the ending pipes. The only other thing I know is that there are a fixed number of pipes in each record.
Does anyone have any ideas on how I can load the data into the table either using sql loader or any other utility? Any input would be greatly appreciated. Thanks.STFF [url http://forums.oracle.com/forums/thread.jspa?messageID=1773678�]Sqlldr processing of records with embedded newline and delimiter
-
pls send ans for this
1b5595eb-fcfc-48cc-90d2-43ba913ea79f wrote:
pls send ans for this
use any text editor to eliminate the dot before loading -
Importing to a Oracle Table from SQL Loader Fails
Hi ,
When I try to upload one xml file from my server to my table in oracle server using sql loader it fails at times.Some times it works perfectly.
This is a daily process which automatically dumps data to my oracle.
Please find the error log :
SQL*Loader: Release 10.2.0.4.0 - Production on Thu Dec 5 04:07:32 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Control File: xmlFeedDelta.ctl
Data File: xmlFileNames_Delta.txt
Bad File: xmlFileNames_Delta.bad
Discard File: none specified
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 1000
Bind array: 50000 rows, maximum of 256000 bytes
Continuation: none specified
Path used: Conventional
Table XMLFEEDDELTA, loaded from every logical record.
Insert option in effect for this table: APPEND
Column Name Position Len Term Encl Datatype
FILENAME FIRST 4000 , CHARACTER
FILECONTENT DERIVED * EOF CHARACTER
Dynamic LOBFILE. Filename in field FILENAME
value used for ROWS parameter changed from 50000 to 63
SQL*Loader-643: error executing INSERT statement for table XMLFEEDDELTA
ORA-03113: end-of-file on communication channel
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
Table XMLFEEDDELTA:
0 Rows successfully loaded.
0 Rows not loaded due to data errors.
0 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Space allocated for bind array: 252378 bytes(63 rows)
Read buffer bytes: 1048576
Total logical records skipped: 0
Total logical records read: 1
Total logical records rejected: 0
Total logical records discarded: 0
Run began on Thu Dec 05 04:07:32 2013
Run ended on Thu Dec 05 04:08:42 2013
Elapsed time was: 00:01:10.05
CPU time was: 00:00:00.28
My Control File Looks like this :
LOAD DATA
INFILE xmlFileNames_Delta.txt
INTO TABLE xmlFeedDelta APPEND
fields terminated by ','
filename CHAR(4000),
filecontent LOBFILE(filename) terminated by eof
My Database version :
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
"CORE 11.2.0.2.0 Production"
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
I am not sure why this is happening at times . Any help would be appreciated.Hi,
have you tried with the FILLER command like
LOAD DATA
INFILE xmlFileNames_Delta.txt
INTO TABLE xmlFeedDelta APPEND
fields terminated by ','
filename FILLER CHAR(4000),
filecontent LOBFILE(filename) terminated by eof -
How to convert epoch time to datetime in sql*loader Oracle
Hello,
I wan't to question how to convert epoch time to datetime in sql*loader Oracle. I try this script for convert epoch time to datetime in sql*loader, but error:
Record 1: Rejected - Error on table TEMP_TEST_LANGY, column DATADATA.
ORA-01722: invalid number
Record 2: Rejected - Error on table TEMP_TEST_LANGY, column DATADATA.
ORA-01722: invalid number
Record 3: Rejected - Error on table TEMP_TEST_LANGY, column DATADATA.
ORA-01722: invalid number
This is my loader:
LOAD DATA INFILE 'C:\Documents and Settings\Administrator\My Documents\XL_EXTRACT_211\load.csv'
into table TEMP_TEST_LANGY append
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
DATADATA CHAR "TO_DATE('01-JAN-1970','DD-MON-YYYY')+:datadata/86400"
This is my csv file:
79314313.7066667
79314336.2933333
79314214.3466667
This is my table:
CREATE TABLE TEMP_TEST_LANGY
DATADATA DATE
Thanks
Edited by: xoops on Sep 21, 2011 8:56 AM
Edited by: xoops on Sep 21, 2011 8:58 AMthanks for your answer, but I asked to use sql loader instead of the external table, which so my question is why can not the epochtime converted to datetime, if there is no way to convert a datetime epochtime using sql loader, so I'm required to use the external table. thank you.
This is my error log:
Column Name Position Len Term Encl Datatype
DATADATA FIRST * , CHARACTER
SQL string for column : "TO_DATE('1-Jan-1970 00:00:00','dd-MM-YYYY hh24:mi:ss') + (:DATADATA/60/60/24)"
Record 1: Rejected - Error on table TEMP_TEST_LANGY, column DATADATA.
ORA-01722: invalid number
Record 2: Rejected - Error on table TEMP_TEST_LANGY, column DATADATA.
ORA-01722: invalid number
Record 3: Rejected - Error on table TEMP_TEST_LANGY, column DATADATA.
ORA-01722: invalid number
Edited by: xoops on Sep 21, 2011 12:33 PM -
Datetime conversion from Sybase to 8i bad
The control files created with OMW for sql*loader do not load the migrated tables correctly from Sybase BCP files. Does anyone know what the correct CTL files should be for datetime (SYBASE) -> date (ORACLE 8i)?
E. FongI changed ctl file from
DATE_TIME "TO_DATE(substr(:DATE_TIME,1,19),'yyyy-mm-dd HH24:mi:ss')",
to
DATE_TIME "TO_DATE(substr(:DATE_TIME,1,19),'MON DD YYYY HH24:mi:ss')",
and it works in Oracle 734. You can try that -
SQL*LOADER/SQL usage in Migration
I have very limited migration requirements. I DO NOT need to
migrate a database. I DO need to change some SQL and BCP load
scripts from SQL-SERVER 6.5 to their equivalents in ORACLE 8.0.5.
For this limited purpose, should I proceed to handcode these, or
would the workbench be of use to me?
Thanks for your help.
nullThe migration workbench does, as part of the migration,
generate the BCP and SQL*Loader files required to migrate a
database. However, since you already have the BCP files created
then the Workbench would not actually be able to just generate
the other side of the picture (the SQL*Loader files). I can
suggest the following to you :
1. Perhaps use the Workbench to run a tiny migration that would
show you how we generate the SQL*Loader scripts. It is fairly
straight forward however we need to do some manipulation on
dates.
2. There is a chapter on SQL*Loader as part of the Oracle8i
documentation set.
Chapter 3 "SQL*Loader Concepts"
Oracle8i Utilities, Release 8.1.5
A67792-01
Regards,
Marie
Raja Marla (guest) wrote:
: I have very limited migration requirements. I DO NOT need to
: migrate a database. I DO need to change some SQL and BCP
load
: scripts from SQL-SERVER 6.5 to their equivalents in ORACLE
8.0.5.
: For this limited purpose, should I proceed to handcode these,
or
: would the workbench be of use to me?
: Thanks for your help.
Oracle Technology Network
http://technet.oracle.com
null -
Loading data by sql loader in oracle 10g on linux
I am trying to load data in Oracle 10g on linux by using sql loader, but getting error
Problem in log showing that field length of SURNAME field is more than table field size.
Following is the error in log file of sql loader
Record 21: Rejected - Error on table TABLE1, column
SURNAME.
ORA-12899: value too large for column SURNAME (actual: 65, maximum: 64)
and it is evident from following controlfile that i am using trim to discard any space then why it is giving an error.
LOAD DATA
TRUNCATE
INTO TABLE TABLE1
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ID INTEGER EXTERNAL,
OPTION1 CHAR,
REF1 CHAR,
OTHER_REF CHAR,
TITLE "TRIM(:TITLE)",
FORENAME "TRIM(:FORENAME)",
SURNAME "TRIM(:SURNAME)",
JOINT_TITLE "TRIM(:JOINT_TITLE)",
JOINT_FORENAME "TRIM(:JOINT_FORENAME)",
JOINT_SURNAME "TRIM(:JOINT_SURNAME)",
I checked the bad file and count number of characters, they are 64 characters.
When i am inserting individual record from bad file by sql loader, it is loadingProbably your database character set is multi-byte. That is %UTF8 or AL16UTF16%
Post your NLS Database Parameters value
select * from nls_database_parameters;
In General varchar2(65) by default means 65 BYTES unless
you have changed your Defalut NLS_LENGTH_SEMANTICS parameter from BYTE to CHAR.
With best regards
Shan -
SQL*Loader with multiple files
Gurus,
I search the documentation and this forum and haven't found a solution to my issue yet...
I am not expert of SQL*Loader. I have used SQL*Loader to copy from one file to a table many times. But I have not copied multiple files into one table especially with different names.
More specifically....
I need to load data from multiple files into a table. But the file names will be different each time. A file will be created every hour. The file name will consist of the root file name appended by a time stamp. For example, a file created on 10/07/2010 at 2:15 P.M. would be filea100720101415.txt while a file created on 10/08/2010 at 8:15 A.M. would be filea100820100815.txt. All the files will be in one directory.How can I load the data from the files using SQL*Loader?
My database: Oracle 10g Release 2
Operating System: Windows 2003 Server
Please assist.
Robertsect55 wrote:
Gurus,
I search the documentation and this forum and haven't found a solution to my issue yet...
I am not expert of SQL*Loader. I have used SQL*Loader to copy from one file to a table many times. But I have not copied multiple files into one table especially with different names.
More specifically....
I need to load data from multiple files into a table. But the file names will be different each time. A file will be created every hour. The file name will consist of the root file name appended by a time stamp. For example, a file created on 10/07/2010 at 2:15 P.M. would be filea100720101415.txt while a file created on 10/08/2010 at 8:15 A.M. would be filea100820100815.txt. All the files will be in one directory.How can I load the data from the files using SQL*Loader?
My database: Oracle 10g Release 2
Operating System: Windows 2003 Server
Please assist.
RobertToo bad this isn't in *nix, where you get a powerful shell scripting capability.
That said, here is the core of the solution .... you will also need a way to identify files that have been processed vs. new ones. Maybe rename them, maybe move them. But with this sample you can see the basics. From there it is really an issue of DOS scripting, which would better be found by googling around a bit.
cd c:\loadfiles
FOR %%datfile IN (*.txt) DO SQLLDR CONTROL=sample.ctl, LOG=sample.log, BAD=baz.bad, DATA=%%datfileTry googling "dos scripting language". You'll find lots of tutorials and ideas on "advanced" (well, as advanced as DOS gets) techniques to solve your problem.
Edited by: EdStevens on Dec 1, 2010 5:03 PM -
SQL Loader control file script - INFILE
Hi,
The data stored in the file "c:/test_<yyyy>_<mm>_<dd>". The <yyyy>, <mm> and <dd> has to be from sysdate. The infile gets generated on daily basis.
LOAD DATA
INFILE 'c:/test_'||to_char(sysdate,'yyyy')||'_'||to_char(sysdate,'mm')||'_'||to_char(sysdate,'dd').txt'
BADFILE 'c:/test_' || to_char(sysdate,'yyyy') || '_' || to_char(sysdate,'mm') || '_' || to_char(sysdate,'dd').bad'
I ran the above ctl from cmd prompt, it is giving an error. It is not recognizing the || symbol as concatenation.
How can I achieve this?
Thanks in advance.Thanks Hussein.
I placed the control script in GL_TOP directory in unix OS. I created an executable (for the control script) and scheduled this concurrent program.
OS :- HP Tru64 UNIX - 5.1b
Database : 9.2.0.5
Application: Oracle General Ledger (Ver 11.5.9).
The error I am getting if I run the command "sqlldr ...." from cmd prompt is:
sql*Loader: Release 8.1.7.0.0
Illegal combination of non-alphanumeric characters
INFILE 'c:/test_' || to_char(sysdate,'yyyy'.......'
Thanks again. -
Where is SQL LOADER and How i can use
where is and where i can find and run SQL LOADER. because i want to import data from ms excel.
regards.SQL*LOADER is right there on your system if you have successfully installed any of the oracle database products.
Depending on your OS the version of the product you installed then you can invoke it from the OS command prompt. For example in windows OS and with oracle 8.0 product then issue sqllrd80 (or something like that!!). You can check what loader is actually on your system by searching for the sqlldr.*
Also refer to oracle 8 documentation for further explanation. I hope this helps. -
Migration from sybase sql server 7 to Oracle 8i
Hi,
We have a very old Sybase database which contains some 2gb of data which is still being used by the users, we want to phase this out. We want to selectively export some tables and import them into our oracle 8i database. I have looked at documentation related to the migration workbench and it wont work for us because the version of sybase database is very old and I cannot find any client software either to help me to connect to the database.
I noticed in this forum, several messages suggesting the use of bcp to export data from the sql server and then sql*loader to import the data into oracle.
Can anybody please send me the information on bcp and how to export data using that and then how to import it in oracle. I am familiar with sql*loader but am not a expert so any help on how to define the control file etc for sql*loader would be helpful.
ThanksHi Hari,
You will be able to get the Beta release on this site in the next
couple of days in the 'Software' section of this page.
We are just waiting on our web page administrators to make this
software public.
The amount of interest in the SQL Server 7.0 plugin is
substantial, so we are focussing on making it production as soon
as possible.
Please provide feedback on the beta to [email protected]
Regards
John
Hari (guest) wrote:
: Hello great ones,
: I have a website converted from sql server 7 to Oracle 8i (okay
: the customer just woke up to the reality that Oracle rules in
: the e-commerce world..). I read about the workbench and the
: sqlserver 7 plugin which is still in beta.
: Is there any ways I could get hold of the beta release?. This
is
: a big company and if I could do the job fast, it would result
in
: more business to oracle for they will buy the production
: licenses
: (as well as Oracle Apps) after I show them I am successful and
: Oracle 8i is great.
: Any help would be appreciated and thanks a bunch. I am more
: concerned about database objects other than stored procedures
: only.
: Thanks in advance.
: Hari
Oracle Technology Network
http://technet.oracle.com
null
Maybe you are looking for
-
Dear friends I had brought this Mac book pro 15 inch retinal display and windows 8.1 and then I left to India my home place for vacation now my problem is during flight transit at Paris CDG. For flight change. My luggage got lost and I had to leave f
-
Big probleme in my 5800 need help
every time i go in the internet sites like facebook or ovi and all other sites they ask me to put the username and the password i put them but i take :the username and password are incorrect otherwise i use tha same username and password and enter th
-
How do I stop iTunes from overwriting existing songs?
I am attempting to import selections from multiple CDs that all have the same volume and artist name. When I import another selection from a different disc iTunes automatically begins to overwrite the existing track. I've asked the creator of the d
-
JTable - Column swap disabling for selected columns
Hi, In my JTable i want to disable the swapping of selected columns, table.getTableHeader().setReorderingAllowed(false); this disables the whole table swapping. Is there anyway to disable only selected column swapping? Thanks in advance. Yours, Arun
-
Enlever des valeurs d'un tableau à partir d'un seuil
Bonjour Exxiste t'il un Vi qui me permet d'enlever des valeurs d'un tableau en lui donnant un seuil . je m'explique : des données décimales de tensions analogiques rentrent dans mon tableau dans une plage de 0 à 10 , je souhaiterai ensuite enlever to