Connect MS Excel and/or MS Access with AWS RDS - mysql

I have hired developers to make an app for me. The backend database is hosted on Amazon Web Service RDS. The server side language is PHP using Yii framework. originally when I awarded the work i asked the developers to make sure I could connect Excel and/or Access to the backend Database - AWS RDS in this case.
The developers are now telling me it is not possible to connect AWS RDS with MS Access. Instead they have asked me to install MYSQL workbench to connect with AWS RDS. That connection worked.
My question is: Is their statement true? is it not possible to use some sort of ODBC to allow MS Access to connect with AWS RDS. Can MS Access connect with AWS Dynamo DB? What if I switched to AWS hosted SQL Server?
Appreciate your help

Should be no problem with current AWS - RDS technology
Set up 'instance' of your RDB. We used MySQL
Configure your VPC to talk, outbound and inbound. See AWS docs
MySQL instance.
Install MySQL workbench to set up connection and try it out. See AWS docs
a. Create a table in MySQL Workbench to make sure things work.
b. Save the connection for reference, easy access and administration.
Install MySQL ODBC driver from: http://dev.mysql.com/downloads/connector/odbc/
Connect MS ACCESS to AWS hosted MySQL through ODBC driver
The Table created above in #3 should now be available
Finally
a. Connect EXCEL to AWS hosted MySQL through ODBC driver. Under 'Data' tab select "From Other Sources -> From Microsoft Query -> [select] 'New Data Source'"
b. Fill in the same parameters as above for "Create New Data Source" and your AWS data will flow right into your EXCEL spreadsheet.

As of 2018, setup steps are below:
click Excel Data tab on the top
Get Data From--choose From Other Source--From ODBC
Data source name--choose Amazon Redshift ODBC DSN (If not show up, install AWS driver)
expand Advance option--Connection string type your "driver={Amazon
Redshift (x64)};server.....
type in any SQL query--then click OK
type in aws workbench user name and password
a new sheet will be created with data
go to the table you want to paste the data, clear old data
click data tab, choose existing connection
paste query data to your desired excel cell
next time, just need to click Query Tab on the top, refresh

Not positive about connecting to Amazon's RDS system. But I do know that you can setup MS Access to connect to MySQL. It's a bit finicky to setup to start with, but I've had a client running things successfully with a MySQL DB, Yii frontend and MS Access accessing the DB for backend work.
Works great. We're on a stock HostGator account and it's working fine for us. The main wrinkles have been working out how to speed up queries between MS Access and the MySQL DB, as you can quickly end up trying to access huge amounts of data that MS Access then joins after pulling it over the wire, rather than before.

Related

How to connect Azure Database for MySQL flexible server in Azure SQL Server Database

I am trying to set up a connection between Azure MySQL flexible server and Azure SQL database mainly to read data from MySQL and store it in the SQL Server periodically (multiple times a day).
I was thinking of creating a stored procedure inside my SQL Server database; however, I cannot seem to get a connection from the SQL Server into the MySQL database.
I know with ODBC you can connect MySQL to on-prem SQL Server, but unfortunately, there is nothing I have found for the same functionality for Azure SQL Server.
Has anyone done this? Is this possible?
I have tried to set up an ODBC connection, but it did not work as the SQL Server is on Azure.
I tried setting up a linked server inside SQL Server straight to MySQL, but it doesn't seem possible as the SQL Server is not on-prem.
I tried creating external database objects based on the following link.
With all these approaches, my expectation was to surface the MySQL tables from Azure SQL Server/SSMS.
Thank you for your help in advance!
MySql Workbench is the perfect option for connecting the azure database for mysql.
for that we need to create flexible server in azure portal. I created flexible server in azure portal.
Image for reference:
I created database in flexible server by clicking add in in database option. it crated successfully.
Image for refence:
I installed MySQL Workbench in my local system.
you can get your required fields to connect the server in connect tab.
Image for reference:
I connected to the server by filling required fields.
Image for reference:
Click on ok. It connected successfully.
Image for reference:
AFAIK Export the data from Azure mysql flexible server in the form of sql script through MySQL work bench and import that file in Azure sql database through SSMS. IN this we can write data into Azure Sql database.
I have had to create an Azure Function App that contains a Timer function that reads the data from the MySQL data and pushes it to SQL Server every 15 minutes (as were the requirements).
Thank you for everyone for commenting.
It seems you can use Data-in replication.

Connecting to MySQL database on AWS server from PHPMyAdmin

I am trying to connect to a MySQL database that resides on an AWS server from within PHPMyAdmin, to be able to view its tables.
I have the connection strings (hostname, username, password), but I do not see where I would link or provide the AWS database parameters.
Ultimately what I would like to do with the tables is to use the data in my front-end userform that is created in MS Excel.
Here's what I am able to do successfully:
1. can create MySQL database (testdb)
2. can create a table (testtable) from PHPMyAdmin
3. Use the MySQL for Excel connection service to be able to connect to the testtable in the testdb and use the data in my Excel application.
The problem I am having is bringing or linking to the MySQL database on the AWS server to my testdb. I just want to be able to see a list of the AWS database tables in Phpmyadmin. Is that possible?
Yes, it is possible. You can edit config.inc.php file of phpmyadmin to add as many servers as you want
Here is the link with the guide
https://tecadmin.net/add-multiple-hosts-in-phpmyadmin/

Restoring SQL backup on Amazon RDS database

How is it so difficult to find out how to do this? All I need is to run some simple SQL to restore our existing database on a new RDS database.
Tried connecting with SQL Server Management Studio, it won't connect.
Tried using the Database Migration Tool, it doesn't make any sense.
All the documentation for this seems to assume I'm trying to move some monumental database with zero downtime. Literally all I need to do is run an SQL file on a RDS database. Does anybody on earth understand how this works??
You can use Native backup and Restore. Amazon RDS supports native backup and restore for Microsoft SQL Server databases using full backup files.
Though it wouldn't work on db.t1.micro DB instance class.
You can add Native Backup and restore option by doing following according to the AWS docs.
Create a new option group, or copy or modify an existing option group.
Add the option to the option group.
Associate the option group with the DB instance.
After you add the Native Backup and Restore option, you don't need to restart your DB instance. As soon as the option group is active, you can begin backing up and restoring immediately.
If you cannot connect to the you need to check your RDS security group. Make sure port 3389 is open to your IP,
There is good documentation for connecting to RDS from the Management Studio here:
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToMicrosoftSQLServerInstance.html
It states the following:
After Amazon RDS provisions your DB instance, you can use any standard
SQL client application to connect to the DB instance. In this topic
you connect to your DB instance by using either Microsoft SQL Server
Management Studio (SSMS) or SQL Workbench/J.
Also double check that the RDS instance is on a public subnet and that you have allowed public access to it. See those settings in Configure Advanced Settings:

Connecting MySQL to external data source using proprietary ODBC Driver

I have a cloud-based CRM system that provides a proprietary ODBC Driver.
This has been fully configured, set up as a system DSN, and tested with no errors. The system DSN is called 'servicenowdev'.
I also have a local MySQL server, that I would like to connect to the CRM system and download periodic backups. I can connect to the 'servicenowdev' DSN using i-SQL and run queries fine, but I would like to link the server (MS SQL Server "Linked Server" style), but in MySQL.
Where do I start with connecting my MySQL server to this dsn?
I don't know the internal details of the CRM system to provide a database name, host, port or any other details for a FEDERATED SERVER connection.
Can I create views straight to the dsn's tables, or would I have to import data locally?
I have an alternative, albeit not the most efficient, method. In essence I start with MS Access by creating pass through query using the
ServiceNow ODBC. (SELECT * FROM servicenow.table)
I then perform an insert query into a local access table using the pass through query as the source
(INSERT INTO table SELECT * FROM query)
Then I export the table to the MySQL database using the MySQL ODBC.
Hoping you've found a better method but if not then hope this helps.

need to connect my same apps with one database

i have 3 servers for three applications on aws ec2 using MySql database,
now each of the application is having amember that is client subscription app,
it connects with sql databse that is created in each instance
so in this way every amamber app is having diffrent database in each server,
now we are working with a device ROKU we need to pass the XML attributes from amember to it
to varify the user so he can watch online streaming tv.
the objective
now i need to make one database that will be connected with each server using amember
so each server access one database .
Options
my options are aws RDS ,dynamoDb
Now can anyone put me in the right direction, for that.
in simple Words
need to connect my multiple apps (same app) with one database
HELLLLP
If you need to connect to a mysql database, DynamoDB is not the answer. It isn't a mysql database.
RDS is a mysql database. It connects like any other mysql database. You haven't mentioned what language[s] you are using, however. Googling "connect to mysql with [language]" should help.
I think it would be best to stick with relational databases such as MySQL.
Amazon RDS is a managed MySQL solution, but you don't have to use it for your needs.
You can use one of your EC2 instances or a new EC2 instance as the central DB and connect all the other servers to it for quires. There are pros and cons for choosing RDS over your own SQL server. If you have any questions there, feel free to edit your question and add them.
EDIT according to comment
In order to connect your application with the local MySQL. Your are probably using a connection string that points to either "localhost" or "127.0.0.1"... That is the IP of your local machine. You will have to change it to the remote IP of the machine where the DB is stored remotely.