Dear all,
I am trying to connect my 32bit VFP database to the 64 bit enterprise gateway. As I have learned this isn't possible without any passthrough I tried using Easysoft's ODBC-ODBC bridge. I hae setup this bridge and this seems to work fine. Also when I go into Power BI I can see my gateway is online and good to go. However, when I try to add a data source the following error keeps coming up:
Unable to connect: We encountered an error while trying to connect to DSN=Easysoft. Details: "Cannot connect to the mashup data source. See error details for more information."Hide details
Activity ID: | 2af9d849-7e31-4cb5-8aea-adae9c42abbe |
Request ID: | f08c19ae-f3ed-bc70-6dfb-844ad0a6395f |
Cluster URI: | https://wabi-europe-north-b-redirect.analysis.windows.net |
Status code: | 400 |
Error Code: | DM_GWPipeline_Gateway_MashupDataAccessError |
Time: | Thu Feb 23 2017 12:41:04 GMT+0100 (W. Europe Standard Time) |
Version: | 13.0.1700.1204 |
Underlying error code: | -2147467259 |
Underlying error message: | ODBC: ERROR [HY090] [Microsoft][ODBC Driver Manager] Invalid string or buffer length ERROR [HYC00] [Microsoft][ODBC Visual FoxPro Driver]Driver not capable |
DM_ErrorDetailNameCode_UnderlyingHResult: | -2147467259 |
Microsoft.Data.Mashup.ValueError.DataSourceKind: | Odbc |
Microsoft.Data.Mashup.ValueError.DataSourcePath: | dsn=Easysoft |
Microsoft.Data.Mashup.ValueError.Reason: | DataSource.Error |
After contacting the Easysoft's support they have informed me:
Your application is asking for :-
Microsoft.Mashu 3498-5e14 ENTER SQLGetInfoW
HDBC 0x0000000000ABA3F0
UWORD 10003 <SQL_CATALOG_NAME>
PTR 0x0000000003FF76E0
SWORD 30642
SWORD * 0x000000000051CFF8
With a 30642 buffer length.
The MS ODBC Driver Manager is responding with :-
Microsoft.Mashu 3498-5e14 EXIT SQLGetInfoW with return code -1 (SQL_ERROR)
HDBC 0x0000000000ABA3F0
UWORD 10003 <SQL_CATALOG_NAME>
PTR 0x0000000003FF76E0
SWORD 30642
SWORD * 0x000000000051CFF8
DIAG [HY090] [Microsoft][ODBC Driver Manager] Invalid string or buffer length (0)
You application needs to make the SQLGetInfoW with a maximum size as per the specification :-
The driver assumes that the size of \InfoValuePtr* is SQLUSMALLINT or SQLUINTEGER, based on the InfoType. If \InfoValuePtr* is a Unicode string (when calling SQLGetInfoW), the BufferLength argument must be an even number; if not, SQLSTATE HY090 (Invalid string or buffer length) is returned.
As I am not a programmer nor IT specialist, they also told me to contact the person that is responsible for the Microsoft Visual FoxPro ODBC driver cause he might be able to help. As we have no such person in our organization I am trying my luck on the forum. Maybe anyone has encountered similar problems before and has a solution? Maybe someone knows a better way to connect a 32bit VFP database to the gateway?
Thanks in advance!
Thomas