Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
The university I work at uses Oracle for the database system. We currently have programs we run at night to download what we need into some local Access tables for our testing needs. Access is getting to small for this now and we need something bigger. Also, the nightly jobs require constant maintance to keep working (because of network issues, table changes, bad code :) ) and I would like to eliminate them to free us up for more important things.
I am most familiar with MySQL so I setup a test MySQL server. What is the best way to automate copying the needed tables from Oracle to MySQL?
Edit: I accepted the answer. I don't like the answer but it seems to be correct based on further research and the lack of other answers provided. Thanks to all for pondering my question and answering it.
I don't think there is really anything that is going to do this. If you could setup a local Oracle database, then most likely you could as oracle has various means of keeping two databases "in sync", provided they are both Oracle.
If you must use mysql, then likely you are going to just have to write something to sync the data, this is of course always going to run in the same problems you currently have with the access "database".
You could setup something with HSODBC and triggers, but
I've found HSODBC to be very memory hungry
This is only going to add more load to your DB, which you say is already heavily loaded during the day.
If the main thing you are doing is wanting a local Test copy of your oracle database, you would be best to setup syncing with a local version of oracle, as far as I can tell from the licenses, oracle is free for development copies ( I have seen some posts to the contrary, but if you find that is the case, you could always use something like Oracle XE)
Could you just copy the Oracle tables and then set them up as linked tables in MS Access? This way the front-end stays the same plus you keep everything in Oracle (less moving parts than exporting and importing).
As Kellyn said, there are lots of free tools. One of them is SQLWorkbench http://www.sql-workbench.net/, which works with any JDBC database, so MySQL and Oracle should work.
It can create tables in Oracle if needed, or just only copy over the (updated) data.
There are many tool available to migrate data from oracle to mysql if your database is not very complicated.
You can use open source tools like Kettle pentaho ETL tool or paid enterprise tools like DB convert: https://dbconvert.com/oracle/mysql/
Lastly you can write a script or program that migrates the data.
Please find links related to your question:
https://dba.stackexchange.com/questions/150343/how-to-sync-a-mysql-db-with-a-oracle-db
Migrate from Oracle to MySQL
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
So I have a couple questions that I would like to have cleared up for me. I have searched all over the internet for a month trying to find an answer to these questions. I really want to learn SQL and understand how the language interacts with its database. So here are a couple questions that I have had.
My understanding is that there is MySQL and other software applications that help you interact with your database. What are some other applications that could let me interact with my database?
If I am using MySQL where is the data being stored? On my computer or on a database somewhere else?
Where can I go to get a free SQL server and interact with it using an oracle application to interact with my database?
Can I store files and images in an SQL server?
So, lets say I have an SQL database and it has TONS of traffic running through it. What would I do to split the servers up, but still have then interact with each other? Would I create a database that tells where to send that data?
I know that Oracle, Microsoft, etc. have free SQL servers. Can somebody point me in the right direction? I am not exactly sure where to go to actually put my tables and such on a database. I do have the application however.
I have tons of other questions, but I will search as hard as I can for those. Thanks you for your response in the advance.
My understanding is that there is MySQL and other software applications that help you interact with your database. What are some other applications that could let me interact with my database?
MySQL , SQL Server , Oracle are softwares to be precise
Relational Database management systems RDBMS, they Manage (Store, retrieve ,
modify) data for you.
If I am using MySQL where is the data being stored? On my computer or on a database somewhere else?
Data will be stored in a database, database is really a file on your computer's
file system but you will not directly work with the actual physical
file, you will only work with the RDBMS and the RDBMS will manage that
file for you.
Where can I go to get a free SQL server and interact with it using an oracle application to interact with my database?
SQL Server Express is a free version.
Can I store files and images in an SQL server?
Yes in SQL Server you have the ability of storing files/documents using a feature
called FILESTREAM.
So, lets say I have an SQL database and it has TONS of traffic running through it. What would I do to split the servers up, but still have then interact with each other? Would I create a database that tells where to send that data?
For load balancing SQL Server has a feature called Replication
I know that Oracle, Microsoft, etc. have free SQL servers. Can somebody point me in the right direction? I am not exactly sure where to go to actually put my tables and such on a database.
Download link for Microsoft® SQL Server® 2012 Express
1) I think you might be getting the actual database software and the user interfaces confused for example MySQL is a piece of database software that manages the data stores retrieves it etc. phpMyAdmin is a GUI that you can use to interface with MySQL rather that writing SQL queries. There are other variants of SQL like SQL*Plus and i'm sure there are phpMyAdmin equivalents for all of them however I have only ever used them with the command line. Another alternative is something like MongoDB which is a noSQL database.
2) The data is stored wherever the database is installed. You could run it on a local server. LAMP (linux), WAMP(windows) or MAMP(mac) is the easiest way to get this set up. again look on youtube 100s of tutorials on this
3) http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html I havent fully looked into this I must admit
I wont bother carrying on because M.Ali has posted a very good answers to the rest of the questions
Let's see if I can help you with this:
My understanding is that there is MySQL and other software applications that help you interact with your database. What are some other applications that could let me interact with my database?
MySQL, SQL-Server and others are Relational Database Management Systems (RDBMS for short); they are database software that help you store your data, following the relational model (columns are fields, rows are data-tuples, etcétera). RDBMSs handle the task of storing, updating and retrieving the data, but they are not, by themselves, "applications". An application (as I understand it) is a program designed to interact with a user, and sits between the user and the data stored in the database. So, this is a little schematic of what is going on
Database Application User
-------- ----------- ----
Stores data Receives user input/output Interacts with the app
and sends / updates / reads
data to/from the database
If I am using MySQL where is the data being stored? On my computer or on a database somewhere else?
It's stored in the computer where it's installed (in the simplest configuration). Each RDBMS may handle the data storage differently, but the bottom line is that the RDBMS "worries" about the data storage, and let's you handle the data with a "simple" and "consistent" language (most cases, using the particular SQL "dialect" of the RDBMS)
Where can I go to get a free SQL server and interact with it using an oracle application to interact with my database?
What do you mean by "Oracle application"? Oracle, as far as I know, is a RDBMS. If you want to get the free SQL-Server, go to the Microsoft Site and download it.
Can I store files and images in an SQL server?
Yes
So, lets say I have an SQL database and it has TONS of traffic running through it. What would I do to split the servers up, but still have then interact with each other? Would I create a database that tells where to send that data?
Many RDBMSs have tools to handle this (partitions, replication, etcetera). Read the documentation.
I know that Oracle, Microsoft, etc. have free SQL servers. Can somebody point me in the right direction? I am not exactly sure where to go to actually put my tables and such on a database. I do have the application however.
Google around. MySQL is free, PostgreSQL is free. SQL server has a free version. Also, Google around for a good SQL tutorial (I'd recommend you to learn how to use MySQL, because it's one of the easiest ones).
You should narrow your research. If you want a free, fully featured RDBMS, I'd recommend you use MySQL or PostgreSQL (I don't use SQL server, but that's just me). Also, if you want to develop applications, you should learn how to develop with other languages. Most (if not all) languages have libraries designed to interact with databases.
I would start here: http://www.w3schools.com/sql/sql_intro.asp. W3Schools does a decent job explaining the basics. From there you could branch out to http://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm. A Google search from there would suffice to answer any other questions you may have.
MySQL, Oracle, and SQL Server are some that are used to create SQL databases.
MySql can be stored locally or on a host (godaddy).
MySql is free. I believe you have to pay to use the others.
Yes.
When you get to that point, you'll want to either hire someone, or work on databases and web traffic till you understand a good amount.
I would check with Godaddy, or some other web hosting site, and they can provide free advice.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I'm about to start a fresh project and I'm good on normalization of the data. My question is the business I'm working for has a number of tables on MS Sql Server and some version of Oracle. Access to create temporary or even use temporary tables may be limited. We might be able to setup our own tables but chances are 50/50. The approach taken in the past has been to create temporary tables as needed for data dumps into MS Access.
If I can edit / create tables on the SQL server then I'm good, but if not I was thinking about setting up one of the spare machines as a MySQL or MS Sql Express server rather than using Access as a number of these types of projects have been completed in the past and push towards a gig in size due to the amount of data downloaded for preparing reports. Would this be a reasonable approach if I'm locked out of MS Sql server or Oracle? What would you do if your hands were tied in a similar fashion?
To provide a little more insight here, the data dumps are often used to build dozens of excel reports (mostly charts). I was thinking if I can use the MS Sql or Oracle to do all the work via triggers / stored procedures / etc. then perhaps I can eliminate the need for Access and just download the data via VBA using Excel only to reduce the amount of time it takes to build the reports.
Maybe I can use an ORM and some kind of VB.net code rather than excel to build the charts faster?
I'm open to suggestions, let me know what you all think and any questions I'll try to answer the best I can
Although setting up a PC with something like SQL Server Express or MySQL often sounds like a great idea, I strongly suggest that you get the backing of your boss before doing something of this nature. Installing unapproved software on inappropriate/unmaintained workstations is often frowned upon with extreme prejudice. Were I to do this at my current place of employment I'm confident I'd be looking for a job as soon as it was uncovered. I completely agree that just about anything is better than MS Access - however, supporting an architecture such as the one you describe, at least temporarily until you can find a better gig, is probably better than unemployment. YMMV.
Share and enjoy.
Actually the most easy solution here would be to continue to use access as a front end, and simply link to the tables on the particular server database system in question. That way you save all the money time and resources of having to pull down and build temporary local tables.
The end result is you get to continue to use Access as a great RAD tool, but enjoy the benefits of the security, performance and scalability of the server based system in question.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
Hi I am interested in learning SQL databases something I should have done a long time ago but I kept avoiding it for some reason.I realized that there are diferent versions of SQL(MySQL , SQL-Server etc.)and now I am prety confused on witch one to learn.I would like to start learning SQL from w3school but to be honest I dont really know what to use for writing SELECT , DELETE statements and more importantly how to run it.I know that in order to create databases you need tables and I used Microsoft Acces for that but after creating the tables I don't know what to do next.I should mention that there are 2 reasons why I wana learn SQL:
1.For using it with PHP web development
2.I have a course at coledge in witch we study C# and I need to be able to learn how to create SQL databases so I can connect to them
Can you tell me what are the diferences beetween MySQL and SQL-Server?
What should I use for creating and manipulating databases?
And what resources or book could you recomend for learning SQL ?
Thanx in advance and sorry if my statements are vague I have never had anything to do with databases before
Both MySQL and Micorosoft SQL Server are so called Relational Database Management Systems (RDBMS). Data is structured in tables of rows and columns, and relations are made between the tables. MySQL is an open source solution, while SQL Server is not. There is however a free edition of Sql Server available called "Sql Server Express". You manage it through the software "Management Console", which I think is included in the download. http://www.microsoft.com/express
Both uses the SQL-language to interact with the stored data, they do have some differences though. SQL Server uses a variant called "T-SQL" while MySQL uses "SQL/PSM". The basics are however the same.
Good luck!
First, check out RDBMS in Wikipedia for a comparison of DBs. Things change regularly, but this can give you a good idea.
Second, you can use PHP w/ MSSQL.
Third, you can use C# with MySQL, but in Visual Studio, it is very easy to use MSSQL and much more feature support.
As a student you can download all of the MS products you need from Dreamspark plus you can get a free subscription to PluralSight which is online video tutorials from beginner to advanced use of MS products.
PHP is fun and I've had more success using MySQL with PHP, but if you will have a class learning C# and MSSQL, you might as well start learning there.
since you use PHP, the best way you start is Mysql.
Check http://www.apachefriends.org/pt_br/xampp.html
With XAMPP you can run your php apps and user PHP mysqladmin to learn more bout SQL syntax.
Good Luck
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I'm looking into whether a move from SQL Server is a viable option. To help me with this decision, I have some questions:
Is it possible to use asp.net membership on a MySQL server ?
Are there many/any useful tools to migrate tables/databases/etc and which ones are the best?
What are the Main disadvantages in moving to MySQL from SQL Server?
As it stands I have a large enough project but it doesn't avail of many MS features so if it's possible I'd like to move.
My company did this a couple years ago with a pretty big project. On thing that made it easier for us is that we mostly used very plain standards compliant SQL. No Linq, no Entity Framework, only a little T-SQL, and only a few stored procedures.
As far as getting your data into MySQL, We ended up creating our own tool for doing this. None of the existing stuff including "MySQL Migration Assistant" can anywhere close to being fully functional. Once you can recreate the schema on MySQL, Getting the data back in, is a matter of exporting to CSV and importing with LOAD DATA INFILE. Tranferring the schema was actually the hardest part. With so many tables, we couldn't just do it by hand. We wrote some code in .Net by starting off using this VBScript that we found, and upgraded it to use the tools in "Microsoft.SqlServer.Management" Namespace available for .Net.
For functions that exist in SQL Server but don't exist in MySQL, such as GetDate, it's easy enough to write your own functions in MySQL that map to these functions, instead of trying to find all the instances of this stuff in the code. There are quite a few syntax differences between MySQL and SQL Server, even with just using basic SQL. For instance MSSQL allows DELETE TABLENAME WHERE ...., but MySQL insists you use DELETE FROM TABLENAME WHERE..... That's just one, there are many other differences.
Anyway, it was quite an adventure, but it worked out well for us. It is do-able, but you have to be committed, and not be afraid to write your own migration tools.
Couple of things off the top of my head.
MySQL doesn't support CHECK constraints. Usually, if your dbms does support CHECK constraints, your tables use them.
Depending on the constraint, you might be able to rewrite it in one of these ways.
As a foreign key to a new table
As a trigger
As a daily (or hourly, whatever) exception report
As a module in application code (which could be part of an exception report)
Something else I haven't thought of.
MySQL's timestamps have a resolution of one second.
Microsoft has a SQL Server Migration Assistant but, naturally, it is designed to help users move in the other direction.
You may want to check out this whitepaper from the MySQL site (you'll need to register - I did not, so I don't know how valuable the paper will be compared to the knowledge you already possess):
http://www.mysql.com/why-mysql/white-papers/mysql_wp_mssql2mysql.php
There are also some products and guides that can be found with a fairly simple search, e.g.
http://www.spectralcore.com/fullconvert/tutorials/convert-mssql-sql-server-to-mysql.php
http://www.haidongji.com/2009/02/23/moving-data-from-sql-server-to-mysql/
I don't know that the ASP.NET Membership can be ported directly to MySQL but I am confident you could replicate its functionality (it is more a question of how much effort it will take, not whether or not it is possible).
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Hi what are the preferred mysql tools with professional developers. I am a recent computing graduate and have used the query browser and administrator from mysql throughout university and i have found them to be very useful.
I start a new job in a couple of weeks though as a web developer and was wondering whether they would be exepcting me to use the command line or some other mysql tools.
What do the professional developers generally use for interacting with mysql databses i.e. creating new schemas, tables etc.
This is the tool to generate MySQL queries. There you can find MySQL generator for different commands, like drop table, create table, rename database, create database etc.
mysqladmin should be sufficient for most of the tasks if not all of them.
For windows, HeidiSQL is fantastic. It might work on Linux through Wine, but I've never tried it.
I occasionally use MySQL Workbench, as it can help speed up schema design (and the price is right). A cursory knowledge of phpMyAdmin is useful as it is often the admin tool of choice on web hosting servers. Most of the time, however, I just use the command line interface from Linux.
Understanding what goes on beneath the GUI is a very useful (dare I say essential) skill to have. Just look here on SO, where you'll find a vast number of SQL scripts that would be difficult to explain or implement if a GUI had to be factored in.
The CLI is available almost everywhere. If you ever have to work on a computer other than your own, be it on site or in your office, you can be fairly certain that CLI access will be available. The same cannot be said for your GUI of choice.
SQLyog is what I turned to after trying to use HeidiSQL. I liked HeidiSQL but I loved SQLyog. There is a free version somewhere.
Probably
Navicat
phpMyAdmin
DB Forge Studio for MySQL
For the Mac for development I use Querious. The application is very well written and supports connecting to local and remote databases.
Both of the tools you point out are good, and they would probably expect you to have some familiarity with them. Usually I will use a tool such as Query Browser or pgAdmin (for PostGreSQL) to run simple queries.
Once you have more experience you might find the command-line tools helpful as well. It's only going to help you by learning them.
For most big companies, you usually use Microsoft Visio to develop and plot the database as well as the web layout.