Click here to Skip to main content
15,922,309 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hello,

I want to import many pipe seperated text file in one database table, i write the code, but it's showing generate error:-

SQL
BEGIN
truncate table dbo.BaaN_BOM
BULK
INSERT dbo.BaaN_BOM
FROM 'C:\AdminDBBOM\*.txt'
WITH
(
FIRSTROW=2,
FIELDTERMINATOR = '|',
ROWTERMINATOR = '\n'
)
end


My code is showing error:-
Cannot bulk load because the file "C:\AdminDBBOM\*.txt" could not be opened. Operating system error code 123(The filename, directory name, or volume label syntax is incorrect.).

How can be possible?
Please help me.

Thank You in Advance.

Ankit Agarwal
Software Engineer
Posted

1 solution

Please note you can upload one file at a time and you need to specify correct file name instead of *.txt. You need to fire multiple BULK INSERT commands for multiple files. Another alternative is you can merge multiple files into one file using some utility before uploading.
 
Share this answer
 
Comments
[no name] 13-Jun-13 3:05am    
I search this script but file name did not found:-

CREATE TABLE FILELEIST(FILEPATH VARCHAR(255),FILENAME VARCHAR(255)) -- You might already be having this. Change it according to your needs

--some variables
DECLARE @filename NVARCHAR(255),
@PATH NVARCHAR(255),
@SQL NVARCHAR(8000),
@cmd VARCHAR(1000)
--retrieve the list of files to process
SET @PATH = 'C:IMNJanGatewayReport'
SET @cmd = 'dir ' + @PATH + '*.csv /b'
INSERT INTO FILELEIST(FILENAME)
EXEC Master..xp_cmdShell @cmd
UPDATE FILELEIST SET FILEPATH = @PATH WHERE FILEPATH IS null

DECLARE c1 CURSOR FOR SELECT FILEPATH,FILENAME FROM FILELEIST WHERE FILENAME like '%.csv%'
OPEN c1
FETCH NEXT FROM c1 INTO @PATH,@filename
WHILE @@FETCH_STATUS <> -1
BEGIN
SET @SQL = 'BULK INSERT GatewayReport FROM ''' + @PATH + @filename + ''' '
+ ' WITH (
FIELDTERMINATOR = '',''
) '
PRINT @SQL
EXEC (@SQL)

FETCH NEXT FROM c1 INTO @PATH,@filename
END
CLOSE c1
DEALLOCATE c1

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900