Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

ODBC read failed

Hi!
I'm trying to load data from .DBF files but i have the following problem
"QVX_PIPE_ERROR:
20.03.2013 9:17:57: Error: ODBC read failed".
It doesn't happen all the time. Sometimes it executes succesfully


I use Microsoft Acess dBase Driver.
I try to delete conecction and create again but problem isn't resolved.

RAM 32 GB

QV Server 11.20.11716.0

This problem happen on QV server and QV Desctop too.

Please, help me



17 Replies
Not applicable
Author

Vishal, sorry, i can't .

I don't think that problem is resolved but i can't reproduce the bug two days.

Not applicable
Author

Finally,we found the reason of this error. It is a bugID 62361.

If total amount of core of processors >2 , error will happen.

If total amount of core of processors <=2, it will success.

It works fine in version 11.0.11466 .  The error reproduced  in 11.20 SR1 and 11.20 SR2 , so we use QV v 11.0.11466  on customer's server. QT plan to fix this bug on  v. SR3 (planned release in September).

P.S. We use VMware

Not applicable
Author

I am using explicit colum names (not using *) and have installed SR3 and still having the QVX_PIPE_ERROR error.

Is there any other action to do?

Not applicable
Author

Hi, Andre!

QT Support told us they wouldn't fix this bug.

So we decided to convert .dbf to Excel and than to load data from Excel to QV.

datanibbler
Champion
Champion

Hi Kseniya,

we have the same issue here, we are running QV 11.2 SR7. Apparently QT has stuck to their word and not fixed it

😉

I read your post such that the number of cores that are working on the script simultaneously is relevant, is that it?

So there may only be one core working on it - if it is distributed (by a LoadBalancing, I imagine), then it fails.

Do you know of any way of fixing it on the server-side?

Best regards,

DataNibbler

Not applicable
Author

Hi, DataNibbler! QT didn't fix it. They told us:"

The file format DBF is an old legacy file format from the mid 70s, They have already a history of being troublesome and not supported by multithreaded tasks and could in those cases become corrupted.

Adding full support for the files in Qlikview would take substantial time and could also impact performance or usability in other areas of Database loading and handling. Therefore it is not viable for us to support it.

With that being said, the alernative would be to transform the dbf files to standard Access file type mdb, xls, csv or what ever would be suitable for you"

It will work only in 11.0, so, i recommend you add some .bat for convert dbf to Excel. We have used it since this issue and it works fine on multi-cores.

datanibbler
Champion
Champion


Hi Kseniya,

the problem is now becoming annoying - we have had the same error regularly.

The trouble is, QlikView is not officially supported by our IT, so we cannot necessarily count on their help, we have to ask and hope.

I have no experience in this.

Can you tell me what exactly I should be asking the IT_guys with regard to this error? I'll begin by collecting some of the application_logs where the error occurs.

Thanks a lot!

Best regards,

DataNibbler

Not applicable
Author

Ok.  We decided this issue without QT support (previos message)

You can resolve this issue for 2 alternate steps:

1. Reinstall QV to version 11.0

2.Get converter dbf to Excel. You can use .vbs :

pathToDbfFolder = "C:\QV_documents\Output"

pathToExcel = "C:\QV_documents\Output\xls\"

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set File = objFSO.CreateTextFile("C:\QV_documents\Convert dbf\log.log", True)

Set objExcel = CreateObject("Excel.Application")

objExcel.visible=false

Set objFolder = objFSO.GetFolder(pathToDbfFolder)

Set colFiles = objFolder.Files

File.WriteLine "found" & colFiles.Count

For Each objFile in colFiles

If objFSO.GetExtensionName(objFile) = "dbf" Then

    absFile = objFSO.GetAbsolutePathName(objFile)

File.WriteLine(absFile)

    filename = Split(objFile.Name, ".")(0)

  File.WriteLine(filename)

    Call Convert(absFile, filename, File, objExcel)

End If

Next

objExcel.Application.Quit

Sub Convert(absFile,filename, File, objExcel)

File.WriteLine("Start convert")

Set objWorkbook = objExcel.Application.Workbooks.Open(absFile)

File.WriteLine("Open dbf")

objExcel.ActiveWorkbook.SaveAs pathToExcel & filename & ".xlsx"

File.WriteLine("Save into Excel")

objExcel.ActiveWorkbook.Close

File.WriteLine "End Convert"

End Sub

In the end:

dbf->convertor xls (Excel files)-> QV-> QVD