I'm starting on stored procedures with mySQL and need to convert some procedures created for Oracle Database 11gR2 using UTL_FILE package to generate execution logs.
Can anyone help me, telling me if there is any similar form in mySQL?
Grateful.
Well, after long hours of searching I conclude that there are internal constraints in mySQL for direct writing text files.
The contour that occurs to me is to write the log messages and debugging on a table in the database, and then save the relevant records in a text file.
Similarly, grateful to all who may have tried to help.
Related
I'm using mysql workbench as my db client. I have two databases one is giving data mydb_1 and another is receiving the data called mydb_2.
So, below are my doubts :
How can be the data transformation is happening between these DB's?I have checked whether any stored procedure call or triggers have been written but i was unable to find out that because stored_procedures are not visible to my credentials?
I suspect may be i don't have required privilege's, if i don't have proper privilege, so even i wouldn't see the stored procedures? is it dint?
Is there any alternative way to find, how mydb_2 is getting updated?
Because of the access restriction, I was unable to see the stored procedure code.
So, I enabled the MySQL binary log to find, how the data transformation is happening between two databases for the restricted user. Even though
this didn't give entire information but partially I have found some information which can sort my problem.
I am writing a stored procedure in mySQL and need to save log information in a text file.
Has anyone come across this?
Well, after long hours of searching I conclude that there are internal constraints in mySQL for direct writing text files.
The contour that occurs to me is to write the log messages and debugging on a table in the database, and then save the relevant records in a text file.
Similarly, grateful to all who may have tried to help.
We are converting our database to MYSQL from MSSQL 2005.
Someone told me this is possible by generating a script in MSSQL using Database Publishing Wizard. I already created a script. Then by dragging it to the Query Writer in MYSQL. I am currently using SQLyog for creation of database.
How can I use that script to create a MYSQL file?
I also tried to use demo versions of converting tools but to no avail.
Please help me. =)
There is no simple or quick way to do a task like this. THe two database have differnt syntax and differnt datatypes, etc. I certainly would not trust a converting tool as you may want to make changes to fix bad design choices in SQL server to better choices in MYSQL.
Take your script and then run each section and find where it fails and then look up the correct syntax for mySQL and fix it.
Here is alink to a book you need to have for this conversion project as it wil show the syntax differnences:
http://www.amazon.com/SQL-Nutshell-OReilly-Kevin-Kline/dp/0596518846/ref=sr_1_2?s=books&ie=UTF8&qid=1330382519&sr=1-2
I'm considering a MySQL to Postgresql migration for my web application, but I'm having a really hard time converting my existing MySQL database to Postgresql.
I tried :
mysldump with --compatible=postgresql
migration wizard from EnterpriseDB
Postgresql Data Wizard from EMS
DBConvert from DMSoft
and NONE of the above programs do a good job converting my database!
I saw some Perl and Python scripts for converting mysql to postgresql, but I can't figure out how to use them....(I installed ActivePerl and don't understand what I'm supposed to do next to run that script!)
I use Auto Increment fields (as a primary key) all the time, and these are just ignored... I understand that Postgresql does auto-increments in another way (with sequences), but it can't be THAT hard for MIGRATION software to implement that, or is it?
Did anybody have better luck converting a MySQL database with auto-increments as primary keys?
I know this is probably not the answer you are looking for, but: I don't believe in "automated" migration tools.
Take your existing SQL Scripts that create your database schema, do a search and replace for the necessary data types (autonumber maps to serial which does all the sequence handling automagically for you), remove all the "engine=" stuff and then run the new script against Postgres.
Dump the old database into flat files and import them into the target.
I have done this several times with sample databases that were intended for MySQL and it really doesn't take that long.
Probably just as long as trying all the different "automated" tools.
Why not use an ETL Tool? you dont have to worry about dumps or stuff like that.
I have migrated to PostgresSQL and MySQL and have had no problems with the auto increment fields.
You just need to know the connection credentials and thats it. I personally use Pentaho ( it's open source ).
Download Pentaho ETL from http://kettle.pentaho.org/
Unzip and run Pentaho (using .bat file spoon.bat)
Create a new Job:
Create DB connection for source data base (PostgreSQL) - using menu: Tools→Wizard→Create DataBase Connection (F3) Create DB connection for destination data base (Mysql) - using technique described above.
Run the Wizard: Tools → Wizard → Copy Tables (Ctrl-F10).
Select source (left dialog panel), and destination (left dialog panel). Click Finish.
The Job will be generated - Run the job.
If you need any help let me know.
Even when you familiar with all "PostgreSQL gotchas", doing every step by hand may take a lot of time, especially when your db is "big".
Try some other scripts/tools.
I know this is an old question but I just ran into the same problem migrating from MySQL to Postgres. After trying several migration tools out the very best one I could find, which will migrate your database structure as cleanly as possible, was Pgloader https://github.com/dimitri/pgloader/ it will take care of changing the Auto Increment to Postgres sequences no problem and it's super fast.
The .dmp is a dump of a table built in Oracle 10g (Express Edition) and one of the fields is of CLOB type.
I was trying to simply export the table to xml/csv files then import it to the MySql, but the export simply ignored the CLOB field... (I was using sqldeveloper for that).
I noticed this post explaining how to extract the CLOB to text file but it seems to miss the handling of the other fields or at least the primary key fields. can it be adopted to create a csv of the complete table? (I am not familiar with plsql at all)
As the brute force approach, I can use my python interface to simply query for all the records and spool it to a flat file but I'm afraid it will take a LOOOONG time (query for all records replace all native commas with the ascii... )
Thanks guys!
if you can get the mysql server and the oracle server on the same network, you might want to look at the mysql administrator tools, which includes the migration toolkit. you can connect to the oracle server with the migration toolkit and it will automatically create tables and move data for you.
Here is a documentation explaining the migration process: http://www.mysql.com/why-mysql/white-papers/mysql_wp_oracle2mysql.php
and you can use Data Wizard for MySQL . Trial version is fully usable for 30 days.
After about 2 hours of installing and uninstalling the MySql on the same machine (mylaptop) in order to use the migration tool kit as suggested by longneck, I decided to simply implement the dump and here it is for the likes of me that have minimal admin experience and get hard time to make both DBs work together (errors 1130, 1045 and more).
Surprisingly, it is not as slow as I expected: OraDump
Any comments and improvements are welcomed.