Ik probeer met een programma connectie te maken met een ODBC koppeling, maar dit is mij tot op heden niet gelukt. Ik heb het hele internet afgezocht, maar kan vooralsnog geen oplossing vinden. Ik heb ook geprobeerd om de bestaande datasources weer te geven, maar dan toont het programma alleen maar het 1ste teken van de datasource naam. Het moet een console application zijn.
De code die ik gebruik is als volgt (gevonden op internet en aangepast, maar zonder resultaat)
kan iemand me aub helpen, want ik kom er gewoon niet uit.
Heb nu een nieuwe code neergezet die beter werkt, want nu kloppen de eerste tekens ook, maar nog steeds krijg ik er niet meer uit.
De dsn_ret wordt wel goed teruggegeven, want het cijfer wat hierin komt te staan geeft wel de juist hoeveelheid tekens aan.
De code die ik gebruik is als volgt (gevonden op internet en aangepast, maar zonder resultaat)
Code:
#include <stdio.h>
#include <sql.h>
#include <sqlext.h>
main() {
SQLHENV env;
char dsn[256];
char desc[256];
SQLSMALLINT dsn_ret;
SQLSMALLINT desc_ret;
SQLUSMALLINT direction;
SQLRETURN ret;
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env);
SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION, (void *) SQL_OV_ODBC3, 0);
direction = SQL_FETCH_FIRST;
while(SQL_SUCCEEDED(ret = SQLDataSources(env, direction,
dsn, sizeof(dsn), &dsn_ret,
desc, sizeof(desc), &desc_ret))) {
direction = SQL_FETCH_NEXT;
printf("%s - %s\n", dsn, desc);
if (ret == SQL_SUCCESS_WITH_INFO) printf("\tdata truncation\n");
}
}
kan iemand me aub helpen, want ik kom er gewoon niet uit.
Heb nu een nieuwe code neergezet die beter werkt, want nu kloppen de eerste tekens ook, maar nog steeds krijg ik er niet meer uit.
De dsn_ret wordt wel goed teruggegeven, want het cijfer wat hierin komt te staan geeft wel de juist hoeveelheid tekens aan.
Laatst bewerkt: