August 11, 2009 at 9:33 am
I have a stored procedure that is reading in a csv file using the bulk insert command. When the script runs, everything looks fine, but it only reads most of the file. It leaves other records in the file and does not import them into the temporary table. I noticed when I ran it as an administrator, it read all of the entire file into the table. But when I run the stored procedure as a non sysadmin users, it only reads 3/4th of the file. Does anyone know if their is a limited size it can read in? I'm reading each line through a nvarchar(4000) variable.
August 11, 2009 at 2:37 pm
can you upload a copy of the stored procedure and file?
August 11, 2009 at 2:38 pm
and which version of sql...
August 11, 2009 at 2:46 pm
We have sql server 2000.
Here is the sql server code to import the data file:
DROP TABLE dbo.SALES_IMPORT
CREATE TABLE dbo.SALES_IMPORT (
STORE int,
[DATE(yyyymmdd)] smalldatetime,
[TAXABLE SALES] decimal(19,2),
[NON TAXABLE SALES] decimal(19,2),
[GIFT CERTIFICATE SALES] decimal(19,2),
[SALES TAX COLLECTED] decimal(19,2),
[LABOR] decimal(19,2),
[RETURNS] decimal(19,2),
[NON TAXABLE RETURNS] decimal(19,2),
[NET SALES] decimal(19,2),
[MASTER CARD/VISA] decimal(19,2),
[DEPOSIT AMOUNT] decimal(19,2),
[DISCOVER] decimal(19,2),
[AMERICAN EXPRESS] decimal(19,2),
[VAC VOUCHER] decimal(19,2),
[ACCOUNT RECEIVABLE] decimal(19,2),
[CHECK REFUND] decimal(19,2),
[CUSTOMER COUNT] int,
[AVERAGE SALE] decimal(19,2),
[NON MERCHANDISE SALES] decimal(19,2),
DISCOUNTS decimal(19,2),
WARRANTIES decimal(19,2),
[TICKET DISCOUNTS] decimal(19,2),
[TIRE TAX COLLECTED] decimal(19,2),
[GIFT CERTIFICATE RED] decimal(19,2),
COUPON decimal(19,2),
[GIFT CARD RED] decimal(19,2),
[GIFT CARD SALE] decimal(19,2),
DEBIT decimal(19,2),
[RTRN NONMRCH] decimal(19,2),
OVERSHORT decimal(19,2),
[DEPOSIT APP] decimal(19,2),
[DEPOSIT RCV] decimal(19,2),
PETTY decimal(19,2),
[NET FOOD] decimal(19,2),
[RETURN FOOD] decimal(19,2),
[NET CANDY] decimal(19,2),
[RETURN CANDY] decimal(19,2),
[NET SODA] decimal(19,2),
[RETURN SODA] decimal(19,2),
[NET WATER] decimal(19,2),
[RETURN WATER] decimal(19,2),
CRV decimal(19,2),
[TITLE FEE] decimal(19,2)
)
DECLARE @sql nvarchar(4000)
SELECT @sql =
'BULK INSERT dbo.SALES_IMPORT
FROM ''' + dbo.GET_INI('PATH_SALES_HOME') + dbo.GET_INI('FILE_SALES') + '''
WITH (FIELDTERMINATOR = '','',
ROWTERMINATOR = '''',
FIRSTROW = 2 )'
EXEC(@sql)
SELECT * FROM dbo.SALES_IMPORT
DROP TABLE dbo.tblSales_Details
CREATE TABLE dbo.tblSales_Details (
STORE int,
[DATE(yyyymmdd)] smalldatetime,
[TAXABLE SALES] decimal(19,2),
[NON TAXABLE SALES] decimal(19,2),
[GIFT CERTIFICATE SALES] decimal(19,2),
[SALES TAX COLLECTED] decimal(19,2),
[LABOR] decimal(19,2),
[RETURNS] decimal(19,2),
[NON TAXABLE RETURNS] decimal(19,2),
[NET SALES] decimal(19,2),
[MASTER CARD/VISA] decimal(19,2),
[DEPOSIT AMOUNT] decimal(19,2),
[DISCOVER] decimal(19,2),
[AMERICAN EXPRESS] decimal(19,2),
[VAC VOUCHER] decimal(19,2),
[ACCOUNT RECEIVABLE] decimal(19,2),
[CHECK REFUND] decimal(19,2),
[CUSTOMER COUNT] int,
[AVERAGE SALE] decimal(19,2),
[NON MERCHANDISE SALES] decimal(19,2),
DISCOUNTS decimal(19,2),
WARRANTIES decimal(19,2),
[TICKET DISCOUNTS] decimal(19,2),
[TIRE TAX COLLECTED] decimal(19,2),
[GIFT CERTIFICATE RED] decimal(19,2),
COUPON decimal(19,2),
[GIFT CARD RED] decimal(19,2),
[GIFT CARD SALE] decimal(19,2),
DEBIT decimal(19,2),
[RTRN NONMRCH] decimal(19,2),
OVERSHORT decimal(19,2),
[DEPOSIT APP] decimal(19,2),
[DEPOSIT RCV] decimal(19,2),
PETTY decimal(19,2),
[NET FOOD] decimal(19,2),
[RETURN FOOD] decimal(19,2),
[NET CANDY] decimal(19,2),
[RETURN CANDY] decimal(19,2),
[NET SODA] decimal(19,2),
[RETURN SODA] decimal(19,2),
[NET WATER] decimal(19,2),
[RETURN WATER] decimal(19,2),
CRV decimal(19,2),
[TITLE FEE] decimal(19,2)
)
INSERT INTO dbo.tblSales_Details
SELECT
STORE,
[DATE(yyyymmdd)],
[TAXABLE SALES],
[NON TAXABLE SALES],
[GIFT CERTIFICATE SALES],
[SALES TAX COLLECTED],
[LABOR],
[RETURNS],
[NON TAXABLE RETURNS],
[NET SALES],
[MASTER CARD/VISA],
[DEPOSIT AMOUNT],
[DISCOVER],
[AMERICAN EXPRESS],
[VAC VOUCHER],
[ACCOUNT RECEIVABLE],
[CHECK REFUND],
[CUSTOMER COUNT],
[AVERAGE SALE],
[NON MERCHANDISE SALES],
DISCOUNTS,
WARRANTIES,
[TICKET DISCOUNTS],
[TIRE TAX COLLECTED],
[GIFT CERTIFICATE RED],
COUPON,
[GIFT CARD RED],
[GIFT CARD SALE],
DEBIT,
[RTRN NONMRCH],
OVERSHORT,
[DEPOSIT APP],
[DEPOSIT RCV],
PETTY,
[NET FOOD],
[RETURN FOOD],
[NET CANDY],
[RETURN CANDY],
[NET SODA],
[RETURN SODA],
[NET WATER],
[RETURN WATER],
CRV,
[TITLE FEE]
FROM dbo.SALES_IMPORT
and I have attached one of the files to upload using this import process. Any input on why it is only importing 3/4ths of the file, would be appreciated.
August 11, 2009 at 5:03 pm
Eric Weinstein
dbo.GET_INI
Take it that this is a procedure developed by persons at your location, if not violating any company rule would you care the share that code?
August 11, 2009 at 5:06 pm
We have sql server 2000.
Here is the sql server code to import the data file:
DROP TABLE dbo.SALES_IMPORT
CREATE TABLE dbo.SALES_IMPORT (
STORE int,
[DATE(yyyymmdd)] smalldatetime,
[TAXABLE SALES] decimal(19,2),
[NON TAXABLE SALES] decimal(19,2),
[GIFT CERTIFICATE SALES] decimal(19,2),
[SALES TAX COLLECTED] decimal(19,2),
[LABOR] decimal(19,2),
[RETURNS] decimal(19,2),
[NON TAXABLE RETURNS] decimal(19,2),
[NET SALES] decimal(19,2),
[MASTER CARD/VISA] decimal(19,2),
[DEPOSIT AMOUNT] decimal(19,2),
[DISCOVER] decimal(19,2),
[AMERICAN EXPRESS] decimal(19,2),
[VAC VOUCHER] decimal(19,2),
[ACCOUNT RECEIVABLE] decimal(19,2),
[CHECK REFUND] decimal(19,2),
[CUSTOMER COUNT] int,
[AVERAGE SALE] decimal(19,2),
[NON MERCHANDISE SALES] decimal(19,2),
DISCOUNTS decimal(19,2),
WARRANTIES decimal(19,2),
[TICKET DISCOUNTS] decimal(19,2),
[TIRE TAX COLLECTED] decimal(19,2),
[GIFT CERTIFICATE RED] decimal(19,2),
COUPON decimal(19,2),
[GIFT CARD RED] decimal(19,2),
[GIFT CARD SALE] decimal(19,2),
DEBIT decimal(19,2),
[RTRN NONMRCH] decimal(19,2),
OVERSHORT decimal(19,2),
[DEPOSIT APP] decimal(19,2),
[DEPOSIT RCV] decimal(19,2),
PETTY decimal(19,2),
[NET FOOD] decimal(19,2),
[RETURN FOOD] decimal(19,2),
[NET CANDY] decimal(19,2),
[RETURN CANDY] decimal(19,2),
[NET SODA] decimal(19,2),
[RETURN SODA] decimal(19,2),
[NET WATER] decimal(19,2),
[RETURN WATER] decimal(19,2),
CRV decimal(19,2),
[TITLE FEE] decimal(19,2)
)
DECLARE @sql nvarchar(4000)
SELECT @sql =
'BULK INSERT dbo.SALES_IMPORT
FROM ''' + dbo.GET_INI('PATH_SALES_HOME') + dbo.GET_INI('FILE_SALES') + '''
WITH ( FIELDTERMINATOR = '','',
ROWTERMINATOR = '''',
FIRSTROW = 2 )'
EXEC(@sql)
SELECT * FROM dbo.SALES_IMPORT
DROP TABLE dbo.tblSales_Details
CREATE TABLE dbo.tblSales_Details (
STORE int,
[DATE(yyyymmdd)] smalldatetime,
[TAXABLE SALES] decimal(19,2),
[NON TAXABLE SALES] decimal(19,2),
[GIFT CERTIFICATE SALES] decimal(19,2),
[SALES TAX COLLECTED] decimal(19,2),
[LABOR] decimal(19,2),
[RETURNS] decimal(19,2),
[NON TAXABLE RETURNS] decimal(19,2),
[NET SALES] decimal(19,2),
[MASTER CARD/VISA] decimal(19,2),
[DEPOSIT AMOUNT] decimal(19,2),
[DISCOVER] decimal(19,2),
[AMERICAN EXPRESS] decimal(19,2),
[VAC VOUCHER] decimal(19,2),
[ACCOUNT RECEIVABLE] decimal(19,2),
[CHECK REFUND] decimal(19,2),
[CUSTOMER COUNT] int,
[AVERAGE SALE] decimal(19,2),
[NON MERCHANDISE SALES] decimal(19,2),
DISCOUNTS decimal(19,2),
WARRANTIES decimal(19,2),
[TICKET DISCOUNTS] decimal(19,2),
[TIRE TAX COLLECTED] decimal(19,2),
[GIFT CERTIFICATE RED] decimal(19,2),
COUPON decimal(19,2),
[GIFT CARD RED] decimal(19,2),
[GIFT CARD SALE] decimal(19,2),
DEBIT decimal(19,2),
[RTRN NONMRCH] decimal(19,2),
OVERSHORT decimal(19,2),
[DEPOSIT APP] decimal(19,2),
[DEPOSIT RCV] decimal(19,2),
PETTY decimal(19,2),
[NET FOOD] decimal(19,2),
[RETURN FOOD] decimal(19,2),
[NET CANDY] decimal(19,2),
[RETURN CANDY] decimal(19,2),
[NET SODA] decimal(19,2),
[RETURN SODA] decimal(19,2),
[NET WATER] decimal(19,2),
[RETURN WATER] decimal(19,2),
CRV decimal(19,2),
[TITLE FEE] decimal(19,2)
)
INSERT INTO dbo.tblSales_Details
SELECT
STORE,
[DATE(yyyymmdd)],
[TAXABLE SALES],
[NON TAXABLE SALES],
[GIFT CERTIFICATE SALES],
[SALES TAX COLLECTED],
[LABOR],
[RETURNS],
[NON TAXABLE RETURNS],
[NET SALES],
[MASTER CARD/VISA],
[DEPOSIT AMOUNT],
[DISCOVER],
[AMERICAN EXPRESS],
[VAC VOUCHER],
[ACCOUNT RECEIVABLE],
[CHECK REFUND],
[CUSTOMER COUNT],
[AVERAGE SALE],
[NON MERCHANDISE SALES],
DISCOUNTS,
WARRANTIES,
[TICKET DISCOUNTS],
[TIRE TAX COLLECTED],
[GIFT CERTIFICATE RED],
COUPON,
[GIFT CARD RED],
[GIFT CARD SALE],
DEBIT,
[RTRN NONMRCH],
OVERSHORT,
[DEPOSIT APP],
[DEPOSIT RCV],
PETTY,
[NET FOOD],
[RETURN FOOD],
[NET CANDY],
[RETURN CANDY],
[NET SODA],
[RETURN SODA],
[NET WATER],
[RETURN WATER],
CRV,
[TITLE FEE]
FROM dbo.SALES_IMPORT
August 11, 2009 at 6:19 pm
Eric,
Bit Bucket wanted you to post the code for the function that creates the path in the FROM clause of the BCP statement... not all the stuff you've already posted.
I just ran your code using your file (after changing the row terminator in the BCP to backslash N because the forum eats those" and I hardcoded the FROM clause of the BCP just because you haven't posted the function that makes that. Of course, it worked fine... I got all the rows.
So, there's only one thing left... there are two files (somewhere) and either the functions are returning different things based on who you are logged in as (probably not) or there's some sort of drive mapping that is different based on who you log in as.
--Jeff Moden
Change is inevitable... Change for the better is not.
August 12, 2009 at 2:31 am
Hi Eric,
To confirm which file (and whether it is all being read or not) use process monitor, (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) and setup a filter on the filename and re-run the import - does the right file get read and also does all the data get read?
If you monitor both accounts and verify you get the same results?
ed
Viewing 8 posts - 1 through 7 (of 7 total)
You must be logged in to reply to this topic. Login to reply