Importing Excel Data Into MS SQL Problems-Any Ideas?
Apr 29, 2004
My issue involves importing data from excel into MS SQL properly.
Currently I am using MSSQL Standard Edition, ASP Pages and VBScript together to allow users of my site to upload excel sheets with a specific column header arrangement and the subsequent data below.
The issue I am having is that even with the data formatted (General, text, or any other ways I have tried), MS SQL still does not recognize most of the data in the cells. Mainly data in the first column, the rest of the columns seem not to have as much of an issue.
Problem being is that the data consists of numbers and letters, more specifically part numbers. These part numbers can be a wide range of combinations of say 12HJ78UY-001 or NT78E64AA. If it is pure numbers such as 0983465, then it imports perfect, but if there are numbers and letters mixed then MS SQL places a <NULL> in the field instead.
I thought it was the VBScript, so I took one of the excel files and manually imported it into its own table into MS SQL. The exact same problem occurred.
I exported the data in the excel sheet to a text file (tab delimited), then imported it into a new table into MS SQL, it worked perfect. No data problems whatsoever.
I have even converted the data to a text file, copied it all, then performed a “Paste Special” (which I know my users will never do) on a new fresh Excel sheet, and MS SQL still cannot read the information properly, I get the <NULL>.
Currently everything I have is automated and I need to keep it that way, but I cannot seem to find an automated solution to convert xls to txt or make MS SQL read these excel sheets properly.
Any ideas? Thank you very much in advance if you have the answer.
View 12 Replies
ADVERTISEMENT
Sep 11, 2007
Hi,
I need to import an SQL string from MS Excel 2003 to SQL SERVER 2000.
The string I need to import is composed by 5 different several blocks and looks like:
Code Snippet
CommandLine01 = "USE mydb"
CommandLine02 = "SELECT Block ..."
CommandLine03 = "GO
ALTER TABLE Block...
GO"
CommandLine04 = "UPDATE Block..."
CommandLine05 = "SELECT Block..."
The detail of the SQL string is at:
http://forums.microsoft.com/msdn/showpost.aspx?postid=2093921&siteid=1&sb=0&d=1&at=7&ft=11&tf=0&pageid=1
I am trying to implement OJ's suggestion:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2117223&SiteID=1
to use multi - batch processing to import the string to SQL SERVER, something like:
Code Snippet
Dim SqlCnt, cmd1, cmd2, cmd3
'set the properties and open a connection
cmd1="use my_db"
cmd2="create table mytb"
cmd3="insert into mytb"
SqlCnt.execute cmd1
SqlCnt.Execute cmd2
SqlCnt.Execute cmd3
Below is the code (just partial) I have, and I need help to complete it.
Thanks in advance,
Aldo.
Code Snippet
Function TestConnection()
Dim ConnectionString As New ADODB.Connection
Dim RecordSet As New ADODB.RecordSet
ConnectionString = "Driver={SQL Server};Server=myServer;Database=myDBName;Uid=UserName;Pwd=Password"
ConnectionString.Open
CmdLine01 = " USE " & myDB
CmdLine02 = " SELECT ACCOUNTS.FULLNAME FROM ACCOUNTS" ...
CmdLine03 = "GO
ALTER TABLE Block...
GO"
CmdLine04 = "UPDATE Block..."
CmdLine05 = "SELECT Block..."
RecordSet.Open CmdLine01, ConnectionString
RecordSet.Open CmdLine02, ConnectionString
ConnectionString.Execute CmdLine01
ConnectionString.Execute CmdLine02
'Retrieve Field titles
For ColNr = 1 To RecordSet.Fields.Count
ActiveSheet.Cells(1, ColNr).Value = RecordSet.Fields(ColNr - 1).Name
Next
ActiveSheet.Cells(2, 1).CopyFromRecordset RecordSet
'Close ADO objects
RecordSet.Close
ConnectionString.Close
Set RecordSet = Nothing
Set ConnectionString = Nothing
End Function
View 7 Replies
View Related
May 23, 2008
Hi i have an excel spreadsheet in which I want to take the data and put them in a table, the table and excel speadsheet have the same unique-ID, what i need to do is retrieve the extra fields of the excel spreadsheet and match them up with the table. Is this possible, if so how?
View 6 Replies
View Related
Feb 3, 2006
Here is the scenario: I have an excel spreadsheet that contains 182 columns, and I need to move this data into a semi-normalized database for reporting. The SQL Server database schema has 11 tables. Some of the tables are going to use identity columns for their PK, other tables are using a value that comes from this spreadsheet for their PK values.Anyway, I have never done a DTS package of any significance before, and know I most likely need to write some VBScript to handle sticking data into the proper data tables, etc.I am just hoping someone can point me at a good resource, give me an alternative means of doing this (this is a process that will need to happen whenever a new Excel spreadsheet is dropped into a folder or on a schedule, either one). I would love to write some C# code to handle these things, but a DTS package would probably be the best, I just don't know where to start.Thanks,
View 2 Replies
View Related
Apr 17, 2006
I have an excel document that I need to import into a table. The format of the Excel spreadsheet has three columns:
|First Name | Last Name | Zip code|
This data is not normalized. I want to convert the data in the spreadsheet to foreign key values for two existing tables.
The table I'm importing to will contain records with a many-to-many relationship.
For example,
|John|Smith|77079
imports as:
|1|1|
Where "Smith" is the first record in the 'rep' table and "77079" is the first record in the 'zip' table.
How can I bring the data in and then convert the de-normalized data into ID values from my existing tables?
I have thousands of records that I need to do this for and want to automate the process.
Thanks for any help.
Regards,
-D-
View 1 Replies
View Related
Apr 14, 2008
I am using SQL 2005 the developer edition and need to import a couple thousand records while I try and create a web tool that will filter the data.
I know unltimately I will need to create some sort of application to move the data over. But I am not going to waste my time do that unless I am successful on the web site side.
What is an easy way to import the data. I tried the import wizzard multiple times and have recieved an error...multiple times.
View 6 Replies
View Related
Jun 10, 2007
Hi,
In SQL 2005, is there a way to autmotatically import data from excel into an existing table. So far, I can only do this into a new table. Any help is appreciated.
View 5 Replies
View Related
Feb 27, 2007
Hello,
I am trying to import a table from Access and/or Excel. I have attempted with both programs. I get errors possibly due to some bad data over the years. Is it possible to tell SQL Server to import a table and discard any errors? or is there a way to scrub the data before importing to make sure all possible causes of errors are corrected or addressed?
View 3 Replies
View Related
Sep 14, 2004
I have a Excel 2000 column which looks like this:
Column A
23456
234-67
2-56
354899865
When I create a DTS package to import this column, only the values without a hyphen get imported correctly..and a null value will show for the numbers that have a hyphen in it.
I've set my datatype to varchar, float, nvarchar, text, etc in SQL Server 2000...but nothing seems to work. I have also changed the datatype in my excel spreadsheet to text, general, etc.
I've tried so many combinations, I forget which ones I've tested...Anybody have an idea what I should try ?
Thank you
View 3 Replies
View Related
Jan 16, 2008
Hey guys,I am trying to import data from an Excel spreadsheet into my SQLdatabase. I am running SQL 2005.I following Microsoft's instructions for creating a linked server, andit appeared to work. However when I run this query:SELECT * INTO test FROM OPENQUERY(EFORMS,'SELECT * FROM [Form Tracker Baseline$]')I get the following error:The OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server"EFORMS" reported an error. The provider did not give any informationabout the error.Msg 7303, Level 16, State 1, Line 1Cannot initialize the data source object of OLE DB provider"Microsoft.Jet.OLEDB.4.0" for linked server "EFORMS".Test is the table that will receive the imported data. Eforms is thename of my linked server, and Form Tracker Baseline is the worksheetname.The error sounds like it can not locate my spreadsheet. Any ideas whyI am getting this message? Is there an easier way to do this import?Thanks,
View 4 Replies
View Related
Nov 13, 2007
Hi all,
I am trying to export data from an excel file to SQL Server database for reporting. Unfortunately I get the following errors.
[OLE DB Destination [54]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".
Could some one bail me out of this bug.
Regards,
Ronaldlee
View 1 Replies
View Related
May 20, 2008
Hi,
My excel sheet consists of mix data types, numbers and characters but when we use excel source in data flow it onlys recognises characters and displays number as NULL. After going through this link
http://www.***s-blog.com/archives/2004/06/03/external-data-mixed-data-types/
The above link displays *** in url as it pronounces as deeks, so u need to replace "ee" as "ic" and u can see the blog.
I modified my excel source as Select * from[Excel 8.0;HDR=YES;IMEX=1;Database=C:Test.xls;].[Sheet1$]; It displays all the columns and values properly when previewed but when we execute the package it gives error as
Error: 0xC0202009 at Test, Connection manager "Excel Connection Manager": SSIS Error Code DTS_E_OLEDBERROR.
An OLE DB error has occurred. Error code: 0x80040E21.
Please help
Thanks
View 4 Replies
View Related
Oct 19, 2007
i using the select command
select * from [excel sheet name$];
i also using open file dialoug to specify the excel book this book should be pass to the select command at run time
as a parameter
so plz help me with suitable example
View 1 Replies
View Related
Jul 17, 2007
hi
when i m importing data from excel to Sql using DTS the column which has text content was not imported as same in excel sheet. whereas a special character is appearing in between the lines. the text field contains multiple lines but the conetent is imported in single line .
ex:
ARIZONA
ALABAMA
STATE
but i m getting imported
as :
ARIZONA ALABAMA STATE
How to Format a single column while importing?
Regards
Raj
View 1 Replies
View Related
Feb 21, 2008
Is there any way to import the excel data to SqlServer 2000 without using OleDb Connection in the code...??
Help Me with this??
Thanks in advance..
View 5 Replies
View Related
Apr 9, 2000
Can anybody please give an example of how to import data from an Excel file to SQL Server in a VB Application using DTS.
I am particularly facing problems creating the connection for the Excel file. An example for that would be aprticularly helpful.
Thanks in adv,
Rahul.
View 1 Replies
View Related
Apr 19, 2007
I have excel file that has field named Purpose. Its max length is 400 character. I import this file to sql server database table. And also i change the purpose field in sql server database table with nvarchar 400. But when i run this job, it gave me error message:
Error at source for row number 1215. Errors encountereed so far in this task: 1.
Data for source column 18 ('Purpose') is too large for the specified buffer size.
What should i do so that i still can import the data from excel to sql server database?
Thanks for your help.
View 1 Replies
View Related
Aug 23, 2006
Hello all:
I have gone through most of the question posed by people, about importing data from EXCEL sheet to some table using SQL server database. I have a slight variation of this problem.
My excel file contains some information apart from the normal data.
Lets say some 5-6 lines always gives me some info about the data, like its purpose, client info, date etc...
After this INFO my actually data start, which I want to load into table.
I have found some wizard for the same, "EMS SQL MANAGER 2005", which supports most of the file formats, and load data into the database.
But we are planning to not use this tool, instead everything should be done using TSQL.
If somebody can please gives me some idea how this problem can be tackle, it would be a great help. We won't be using any Third party tools, like scripting etc...
We want to stick with just TSQL for this problem.
Thanks a bunch,
sabegh
View 1 Replies
View Related
Sep 20, 2006
Hi
I have to import data from a number of excel files to corresponding tables in SQL 2005. The excel files are created using excel 4.0. I have created an excel connection manager and provided it with the path of the excel sheet.Next i have added an excel source from the toolbox to the dataflow. I have set the connection manger, data access mode, and the name of the excel sheet (the wizard detects the sheet correctly) in the dialog window i get when i double click the excel source. Every thing goes fine till here. Now when i select the 'columns' in this dialog window or the preview button, i get this error
TITLE: Microsoft Visual Studio------------------------------Error at Data Flow Task [Excel Source [1]]: An OLE DB error has occurred. Error code: 0x80004005.Error at Data Flow Task [Excel Source [1]]: Opening a rowset for "test4$" failed. Check that the object exists in the database.------------------------------ADDITIONAL INFORMATION:Exception from HRESULT: 0xC02020E8 (Microsoft.SqlServer.DTSPipelineWrap)------------------------------
Any ideas about why is this happening???
Umer
View 3 Replies
View Related
Aug 22, 2006
Hi!
This is what i'm doing:
IF EXISTS (SELECT srvname FROM master.dbo.sysservers srv WHERE srv.srvid !=
0 AND srv.srvname = N'ExcelSource')
EXEC master.dbo.sp_dropserver @server=N'ExcelSource', @droplogins='droplogins';
-
EXEC master.dbo.sp_addlinkedserver
@server = 'ExcelSource',
@srvproduct = 'Excel',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@datasrc = @Chemin,
@provstr = 'Excel 8.0';
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = 'ExcelSource',
@useself = false,
@locallogin = NULL,
@rmtuser ='ADMIN',
@rmtpassword = NULL;
set @NomServ = 'ExcelSource';
This create a linkedServer to read my ExcelFile.
Then i'm doing this:
EXEC ('Insert into Elements (No_element, Nom_elem, Desc_elem, Code_grpe_classe, Tps_elem, Code_sgrpe, Code_produit)
Select No_element, Nom_elem, Desc_elem, Code_grpe_classe, Tps_elem, Code_sgrpe, Code_produit
from ' + @NomServ + '...[Elements$];')
This is where i got an error. The error is:
The OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "ExcelSource" does not contain the table "Elements$". The table either does not exist or the current user does not have permissions on that table.
I can't figure out what i'm missing. I've add permissions for EVERYONE on the file and on the folder just to be sure and i still have the same error. How can i check if the table [Elements$] exist ?
View 3 Replies
View Related
Mar 7, 2006
Hi,
I need to import and transform data from an Excel spread sheet where the information spans two rows. The file layout is something like:
Row1Product1 QTY Store1 Store2 Store3 ...
Row2Product1 AMT Store1 Store2 Store3
Row3Product2 QTY Store1 Store2 Store3
Row4Product2 AMT Store1 Store2 Store3
The output would look like
Product1 Store1 QTY AMT
Product1 Store2 QTY AMT
...
Product2 Store1 QTY AMT
Product2 Store2 QTY AMT
...
We currently use a VB6 program using Office Tools to handle this. Is there a way to handle this with the out-of-the-box SSIS?
Thanks in advance,
John
View 6 Replies
View Related
Apr 7, 2007
Hi all,
I want to import MS Excel data into MS SQL 2000 and I am programming this in VB 6.0. I am referring the article http://support.microsoft.com/kb/316934/EN-US/ for this. I can able to import Excel data successfully into SQL database table. But the problem is, the order of exported data in SQL table is not matching that of MS Excel data. All the rows were jumbled, which made it totally unusable.
Please guide me how to Import Excel data into MS SQL in its original order only. Any other method other than what I am following is present; please suggest me to keep the original order.
------
Regards,
Rajeev Vandakar
Bangalore
View 4 Replies
View Related
Jul 10, 2007
I have installed SQL Server Managemert Server Express .... I am wondering how to import data from an excel spreadsheet?
.. Silent Running
View 3 Replies
View Related
Apr 11, 2002
I've read thru all the threads here which say basically the same thing, use a drop table & then a create table to clear the spreadsheet. My problem is the process works the first time to create the table in a new Excel file but fails to clear excel after that. The processes drop, create, & pump data all work without fail but the spreadsheet data is appended to. I've used the wizard as well, saved the package and ran it again without success. Anyone ran into this one?
View 1 Replies
View Related
Jun 11, 2007
Hi,
I would like to import an Excel spreadsheet into SQL Server 2005. I can do this quite easily using the Import/Export wizard, and have each row in the spreadsheet transfer to a new row in the database table.
However, I want to import the first few columns of the spreadsheet row into one table (called Products), but put the remaining columns into a related, three-column table, called Product_Details. In the Product_Details table, one column would hold the spreadsheet column value, the other column would be a FK integer value linked to the PK in the Products table, and the third column the primary key as normal.
So, somehow, I would need to get hold of the primary key value when the first spreadsheet columns are inserted into the Products table and then insert the remaining columns into the Product_Details table with two values per row - one value being the spreadsheet cell value, the second being the primary key of the new product in the Products table.
TIA,
Graham.
View 1 Replies
View Related
Sep 3, 2007
Hi all. I want to export data from excel 2003 to sql server 2005. I am using the following script:
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
Insert into Pamphlet
Select * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:Pamphlet.xls;HDR=YES', 'SELECT * FROM [Sheet3$]')
But it is giving the following error:
Msg 7399, Level 16, State 1, Line 2
The OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7303, Level 16, State 1, Line 2
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".
The above script is working fine with Excel 2002 but not with 2003. Can someone please provide me exact script of importing data from excel 2003 to sql server 2005. I have also tried the Linked server option but it is still giving the same error.
Please help me.
View 1 Replies
View Related
Feb 15, 2006
Hi,
Would like some help on how do I go about coverting an Excel File with columns of info into my SQL Server Database. The excel file will be uploaded from a user from my web application. I completely have no idea on where to start so any form of help is much appreciated thanks.
View 3 Replies
View Related
May 12, 2004
I have an excel file that contains column A with names of components and products followed by column B which has each respective quantity on hand. I want to import that data to our website's SQL database that has a products table with a column, Pf_ID, that has only product names not component names and In_Stock which contains out-dated information that I want updated from column B of the excel file.
I think I've figured out how to use DTS and update the two fields, but I'm afraid that when everything runs new entries will be created with component information. Is it possible to specify that only rows where Pf_ID matches some row in column A that same row's column B will be used to update the data in In_Stock. I may have just made things too confusing than they need to be, but I don't have much experience with EM or Excel.
I'm also considering trying to write a macro that will match Pf_IDs in an exported excel file of the products table and take rows out of the excel file with current quantity information putting them in a new excel file to import into the website's database.
Please help, this is getting really confusing.
View 4 Replies
View Related
Mar 7, 2008
Hi
I am facing issue while loading data from excel into Sql database table.
The format of spreadsheet is like
Date -
Name - A B C
Section Marks
X1 10 10 10
X2 20 30 10
X3
I need to load this data into table with columns
Date
Name
Section
Marks
Please share your thoughts on how to load this kind of data into table.
Thanks
Anshu
View 1 Replies
View Related
Mar 24, 2008
I am trying to import data from named ranges in excel spreadsheets. I have no troubles if the named sheets have the same number of columns but I can not get the package to work when the spreadsheets have different number of columns. I am using the excel source as the input to my dataflow. I have tried setting it up with the maximum number of columns but if the named range has less than that, I am getting an error.
View 1 Replies
View Related
Apr 21, 2008
I am trying to import data from an excel file. One of the columns contains textual information with linefeeds. Its length is greater than 255 characters. I am having trouble with truncation of the data. Is there a limitation I am running into? Is there a work around?
TIA
eventnext
View 2 Replies
View Related
Jun 11, 2006
I'm new to SQL and DTS packages. I am trying to import data from an excel spreadsheet to an SQL server table via DTS package. It seems that the excel task looks at the first few records in a column to determine the datatype for that column. If the first few records are text, the entire column is imported as text. If numeric, the entire column is imported as numeric.
There are about 25,000 records. In one field, the most important one, about half of the records begin with letters and the rest are all numbers. It is the subscriber ID field, and some subscriber IDs are all numbers, some are letters and numbers. The entire column should be imported as text. However, when I run the transform data task from the excel connection, none of the records that are all numbers are imported. I end up correctly importing only 13,000 of the 25,000 records. The rest are imported with the subscriberID field as <NULL>.
I tried using the CAST or CONVERT function in the SQL query, but get the error message "Undefined Function."
Can anyone give me some help? Thanks,
Jim
View 4 Replies
View Related
Aug 30, 2007
Hi everyone, sorry if this message is not supposed to be posted here.
I'm learning asp.net , and would like to know how I can insert data from a excel file into a database on my web account. Pretty much insert/update information in the database using excel file or a access file.
Thanks a lot in advance
View 3 Replies
View Related