Sql Query into excel - sql

I have a sql query that pulls in form multiple tables, how can I run that query to import into an excel sheet?

I presume that's 'from multiple tables'. In Excel got to the Data menu > Get External Data > From Other Sources > From Microsoft Query and open an ODBC connect. If you can't get the query right in Microsoft Query declare it as a View in your Database and of course you need an ODBC connection to the database

Not knowning your toolset, or even DB Platform, here's a guess.
http://www.mssqltips.com/tip.asp?tip=1202

Related

Import Data to Excel Using SQL/OLE DB

I'm trying to recreate an excel file that I had found that imported data into a table using an OLE DB Query Connection that made use of a SQL server. When I go to the connection properties of the connection I'm trying to recreate, there's no connection file and the connection type states that it is an OLE DB Query. It has a lengthy connection string with the information of the SQL server and then the SQL command text that tells the query basically what to search for.
I am using the 2010 v. of Excel so I go to Data > From Other Sources > Data Connection Wizard > Other/Advanced....
I have no idea where to go from there. I've tried clicking on the OLE DB for SQL but it doesn't seem like it's right as it'll delete itself because there's apparently too much data from the query and it'll take too long to load.

how to import data from sql to excel and update sql data

for me user interface is excel sheet. so i want functionality such that i can import data from sql table.
and when i update data in excell sheet it shoul be update in sql table also.
can any one give me solution??
Similar questions have been asked. See this:
Two-Way Excel to SQL Connection
MS Access is a more appropriate tool for SQL Server connections, but if you have to use Excel then follow those links.
Hope that helps!

How to select from temp table with ODBC in VBA?

I'm writing an Excel tool which queries Informix DB server with ODBC driver. The SQL string is made up in VBA. Since the query is complicated, intermediate results are saved in temp tables. When I ran the real query today, it said "The specified table is not in the database."
PostgreSQL, ODBC and temp table this question suggests it's because by default ODBC works in autocommit mode. So how can I change this in my VBA program? Thank you.

Import Excel Spreadsheet Data to an EXISTING sql table?

I have a table called tblAccounts whose contents will come from an excel spreadsheet.
I am using MS SQL Server 2008 (x64) on a Windows 8.1 (x64)
I tried using the SQL Server Import/Export Wizard but there is no option to choose an existing table but only an option to create a new one.
I tried using other methods such as OPENROWSETS
INSERT INTO tblAccount SELECT * FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0',
'Excel 12.0;Database=D:\exceloutp.xls','SELECT * FROM [Sheet1$]')
but gave me an error:
Msg 7308, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' cannot be used for distributed queries because the provider is configured to run in single-threaded apartment mode.
Some research told me that it occurred because of a 64-bit instance of SQL server.
The problem is that this Excel data transfer to a SQL table must be accomplished using the SQL Import/Export Wizard only.
How can I import an Excel spreadsheet to an existing SQL table without creating a new one?
Some links I visited but was not able to help me resolve my problem:
How do I import an excel spreadsheet into SQL Server?
Fix OLE DB error
You can copy-paste data from en excel-sheet to an SQL-table by doing so:
Select the data in Excel and press Ctrl + C
In SQL Server Management Studio right click the table and choose Edit Top 200 Rows
Scroll to the bottom and select the entire empty row by clicking on the row header
Paste the data by pressing Ctrl + V
Note: Often tables have a first column which is an ID-column with an auto generated/incremented ID. When you paste your data it will start inserting the leftmost selected column in Excel into the leftmost column in SSMS thus inserting data into the ID-column. To avoid that keep an empty column at the leftmost part of your selection in order to skip that column in SSMS. That will result in SSMS inserting the default data which is the auto generated ID.
Furthermore you can skip other columns by having empty columns at the same ordinal positions in the Excel sheet selection as those columns to be skipped. That will make SSMS insert the default value (or NULL where no default value is specified).
Saudate, I ran across this looking for a different problem. You most definitely can use the Sql Server Import wizard to import data into a new table. Of course, you do not wish to leave that table in the database, so my suggesting is that you import into a new table, then script the data in query manager to insert into the existing table. You can add a line to drop the temp table created by the import wizard as the last step upon successful completion of the script.
I believe your original issue is in fact related to Sql Server 64 bit and is due to your having a 32 bit Excel and these drivers don't play well together. I did run into a very similar issue when first using 64 bit excel.
You can use import data with wizard and there you can choose destination table.
Run the wizard. In selecting source tables and views window you see two parts. Source and Destination.
Click on the field under Destination part to open the drop down and select you destination table and edit its mappings if needed.
EDIT
Merely typing the name of the table does not work. It appears that the name of the table must include the schema (dbo) and possibly brackets. Note the dropdown on the right hand side of the text field.
If you would like a software tool to do this, you might like to check out this step-by-step guide:
"How to Validate and Import Excel spreadsheet to SQL Server database"
http://leansoftware.net/forum/en-us/help/excel-database-tasks/worked-examples/how-to-import-excel-spreadsheet-to-sql-server-data.aspx

ADO to query MDB and SQL Server

I've got a database that resides on an SQL server box, and another in a separate mdb file.
Both contain similar data, but I'd like to run a query that checks unmatched records from a field that exists in both.
Is this something that's easy enough to do using ADO (VBA)? If so can you point me in the right direction?
The easiest would be to create a new Access Database or ADP, and link the tables from both the SQL server and the other MDB. That way you've got an interface to both from within the same instance, which allows you to query or join different tables.