do you have any tips for some GUI applications (free) that are capable of debugging MySQL stored procedures?
I tried devArt dbForge MySQL Studio which worked just fine, but it's not free.
Thanks for any tips.
Unfortunately, there don't appear to be any free alternatives.
There is Illatis Stepin - an Eclipse-based IDE for debugging stored procedures. Price is $40 per licence. There is also MySQL Debugger, $50 per head. However, MyDebugger are offering licences if you have a blog - you get a license in return for blogging about the product.
Is the debugger for use in an open source project? If so you might try contacting the publishers to see if they will grant you a license, perhaps in return for a mention on your project page.
If it's for commercial development, you might try getting approval for the $40-50 license fee. The debugger could potentially save you hours of time, and so will almost certainly pay for itself within the first year, if not quicker.
If neither of those are options, you might setup a small blog and try to get a free MyDebugger licence!
MySql Connector/NET starting v6.6 has support for debugging stored routines using visual studio debugger look & feel, it's also open source (dual license GPL/MySql).
To download it here: http://dev.mysql.com/downloads/connector/net/6.6.html
For documentation check here: http://dev.mysql.com/doc/refman/5.0/en/connector-net-visual-studio-debugger.html
SQLYog Community Edition might be able to do this sort of thing
http://www.webyog.com/en/downloads.php
I would recommend trying phpmyadmin.
Recent versions have a "delimiter" field separate from the SQL window that can be used to assist in generating stored procedures.
I am not certain that phpmyadmin has features specifically designed to help you sort out what is wrong with your stored procedure, but it does have a helpful "two window" mode for debugging sql generally (look for the "show this query in a new window" and then once youhave the new window be sure to click "do not overwrite this sql" checkbox. That will let you edit the query in one window and see the results in another.
HTH,
I'm late to the party, but brought more beer:
http://ocelot.ca/blog/blog/2015/03/02/the-ocelotgui-debugger/
and
https://github.com/ocelot-inc/ocelotgui
I tried, and it seems pretty stable, supporting Breakpoints and Variable inspection.
It's not a complete suite (just 4,1 Mb) but helped me a lot!
How it works:
It integrates with your mysql client (I'm using Ubuntu 14.04), and after you execute:
$install
$setup yourFunctionName
It installs a new database at your server, that control the debugging process. So:
$debug yourFunctionName('yourParameter')
will give you a chance to step by step walk your code, and "refreshing" your variables you can better view what is going on inside your code.
Important Tip: while debugging, maybe you will change (re-create the procedure). After a re-creation, execute: $exit and $setup before a new $debug
This is an alternative to "insert" and "log" methods.
Your code remains free of additional "debug" instructions.
Screenshot:
Definitely take a look at mySQL Debugging tool
Related
I am new to LabVIEW and trying to make a small project. In LabVIEW from one device, I am measuring some values and then need to store them in database. Initially, I used Excel to store data. But now I need to add MySQL functionality to store data and then later retrieve when need for analyzing.
I look for NI toolkit but it is expensive. I need some free and open source solution for my project.
I search over SO and google to find any examples where I can start and make it work, but I couldn't find any.
If someone suggest me some resources or having some example code that I can use to achieve my goal. thanks in advance.
Take a look at LabSQL. This works in LabVIEW 2017, allowing connection to a MySQL database without NI's LabVIEW Database Connectivity Toolkit.
I normally use the Database Connectivity Toolkit, but I did confirm I could get this to work in 2017 as well (though connecting to a MSSQL database instead of MySQL).
The only thing that tripped me up at first was not using the Create Connection before Open Connection (because I was used to the aforementioned toolkit). I didn't try anything complicated; I just ran a simple selection query. But it looks like everything should work pretty similarly to the toolkit. As adambro said, if you have a more specific question, maybe we can help with an answer.
I would suggest you could use SQLite. It is a fairly easy toolkit. You can download it via the VI package manager. By dr. James Powell. SQLite is excellent in storing data locally.
Use the SQLite browser from sqlitebrowser.org.
Also a nice way to learn SQL!
The scenario my company asked me to find solution is,
Install MySql
Create Users and grand privileges
Create a database
Install Multiple exe files
Run 3-4 sql scripts.
Ok so i saw InstallShield features, i was looking at NSIS option too but my company dont care if we will buy InstallShield or use a free one so i dropped this options, after 2-3 hours of researching i found that installshield is probably the best.
But i have 0 experience in this field and i cant tell for sure if InstallShield can meet my needs or if im overthinking this scenario and there is a simple solution.
Any advise is appriciated.
I recommend everyone to not go with InstallShield. Better go with WiX (Windows Installer XML).
In our company we used InstallShield MSI-Project for a half decade and it's really a pain. When you try the demo-version everything looks nice and polished but as soon you get more and more requirements you will start to notice that there are many bugs and using InstallScript for custom actions will bring you back in the 90s.
The syntax of WiX (which is pure XML) will look confusing and hard to read in the first time but it's so good to have makros and variables that you can use in your markup on your side.
You can write your Custom Actions in C# and therefore you are able to use some existing code for creating users and grant privileges.
MySQL used to have a Migration Toolkit, to make it easier to import from SQL Server and get started with MySQL as a production platform. That has been discontinued as a product. We were promised that an equivalent product would be added to the newer MySQL Workbench, but that has not happened.
It strikes me as a bizarre business decision, by the MySQL team, to put an extra barrier in the way of people who are considering moving from an MS-stack to a LAMP-stack.
Yes, migration toolkit was awesome.
But still they support the import/export in mysql workbench.
Checkout here:
http://dev.mysql.com/doc/workbench/en/wb-server-administration-manage-data-import-export.html
That seems like a strange move indeed...
You will find several tools suggested under "Migration Tools" here: dev.mysql.com/tech-resources/articles/migrating-from-microsoft.html.
You can migrate Data from MSSQL using PHPMyAdmin Web Interface!
Check here!
To install it on your LAMP-Stack (if you don't have it already), type this on server:
sudo apt-get install phpmyadmin
and Voilá!
:)
Latest MySQL moves look like the typical management decisions based upon marketing rather than actual software capabilities. The company has been through several owners in a few years and the last one, Oracle, has a strong will to make money out of it. (They are even making money out of Sun Microsystems!) MySQL used to have a bunch of poorly maintained GUI tools with a widely variable quality level. That's okay for most users but it scares away companies, which are the type of users that are willing to pay. Creating a single suite out of it looks like an intelligent move in the long term but they probably lack resources to speed up things and they want results now.
Right now, you can still find the old tools if you dig into the archives section from the download page. You'd better grab your copy before they change their mind. ;-)
How are you supposed to correctly use a Visual Studio Team System database project to implement version control on a sql server database?
This might seem overly generic but everything I've found so far online hasn't helped me in being able to achieve anything useful. I have managed to find functionality that appears to be similar to features that are in Redgate's tool Sql Compare but it definitely didn't seem as intuitive as their product.
From my understanding of how these db projects are supposed to work is that you're able to have a version of the database that either lives in Team Foundation Server (or inside the sql server itself) that you can check out to your local machine work on it and then check in the new changes which would allow for simultaneous development to work normally as it does for coding. Was I misinformed? Or is it just a complicated process to get setup?
Related is then how do you use it to deploy changes to the staging/production servers?
We don't use that, we simply script every thing and put it in source control like any other file and ALL deployments to prod are only through scripts pulled down from source control. I think the real key is that nothing gets put on prod except thorugh a source controlled script. Once the developer can't get his change to prod any other way (Devs should not have prod rights), there is no incentive to not put the change in source control.
Funny you should ask. I am the one responsible for getting our production databases under version control, and we're using Visual Studio Database Edition to do it. It is a fantastic tool. The very nice thing about this tool is that not only will it keep your schema under version control but it will validate your database schema as well and permit you to run code analysis against it. It also allows refactoring operations, and many other things.
Typically we work against a local development database, synch the changes back to VSDE, build the database to make sure there are no warnings or errors, and then create a deployment script for deployment to our production databases.
This is a simplified explanation of what and how we doing this, but I think it gives you a general idea of how it can be used. I'd be glad to answer any more specific questions you have.
I've been asked to see if we can monitor the "health" of mysql server in some way. The proposal was that there might be snmp support (this is for version 5.0.x). I was not able to find definitive information on it - A link to a reference would be great.
The real issue is to get periodic information on the "health" or status of mysql. We could write our own process that sites and actively talks to it, then publish that to our GUI (the GUI does not talk to mysql right now).
Is there a simple mechanism that can be used, or other best practice when one has no interest in the content of mysql, but just want to know what its status is? (up, down, available, other, etc)
The gui app is java, the rest of our stuff is a mix of java and c++
I'm not looking for a third party solution - just want to know if mysql "publishes" snmp data for others to consume.
This might help: MySQL Activity Report
Didn't see that you wanted it posted to your GUI app. Though, if your app can display images, you could just load the images that MySQL AR outputs...
I think there is a SNMP agent available in MySQL Enterprise Monitor, but that is of course for the commercial version. There are also several other commercial snmp agents available.
There is a C API for MYSQL that can be used for many of the monitoring tasks that you may be interested in: mysql_ping, mysql_sqlstate, etc. Since you were mentioning that you were using C++ that may be an option.
Take a look at MySQL C API for complete documentation.
That said, there is also some status information available that you can fetch with SQL statements: 'SHOW PROCESSLIST', 'SHOW SLAVE STATUS', etc.
Documentation about this you can find at SHOW Syntax