Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
SQLDataSourceToDriver támogatja az ODBC-illesztőprogramok fordítását. Ezt a függvényt az ODBC-kompatibilis alkalmazások nem hívják meg; az alkalmazások fordítást kérnek SQLSetConnectAttr. Az SQLSetConnectAttr
Szintaxis
BOOL SQLDataSourceToDriver(
UDWORD fOption,
SWORD fSqlType,
PTR rgbValueIn,
SDWORD cbValueIn,
PTR rgbValueOut,
SDWORD cbValueOutMax,
SDWORD * pcbValueOut,
UCHAR * szErrorMsg,
SWORD cbErrorMsgMax,
SWORD * pcbErrorMsg);
Érvek
fOption
[Bemenet] Beállítás értéke.
fSqlType
[Bemenet] Az SQL-adattípus. Ez az argumentum bemutatja az illesztőnek, hogyan konvertálhatja rgbValueIn az alkalmazás által elfogadható űrlapmá. Az érvényes SQL-adattípusok listájáért tekintse meg az SQL-adattípusok D függelék adattípusok című szakaszát.
rgbValueIn
[Bemenet] Lefordítandó érték.
cbValueIn
[Bemenet] Az rgbValueIn
rgbValueOut
[Kimenet] A fordítás eredménye.
Jegyzet
A fordítási DLL nem szakítja meg null értékűre ezt az értéket.
cbValueOutMax
[Bemenet] Az rgbValueOuthossza.
pcbValueOut
[Kimenet] Az rgbValueOut
Karakteres vagy bináris adatok esetén, ha ez nagyobb vagy egyenlő cbValueOutMax, akkor az rgbValueOut adatai cbValueOutMax bájtra csonkolva lesznek.
Az összes többi adattípus esetében a cbValueOutMax értéke figyelmen kívül lesz hagyva, és a fordítási DLL feltételezi, hogy az rgbValueOut mérete az fSqlType-nal megadott SQL-adattípus alapértelmezett C adattípusának mérete.
A pcbValueOut argumentum null mutató lehet.
szErrorMsg
[Kimenet] Egy hibaüzenet tárterületére mutat. Ez egy üres sztring, hacsak a fordítás nem sikerült.
cbErrorMsgMax
[Bemenet] Az szErrorMsg
pcbErrorMsg
[Kimenet] Mutasson az szErrorMsg
Visszatér
IGAZ, ha a fordítás sikeres volt, HAMIS, ha a fordítás sikertelen volt.
Megjegyzések
Az illesztőprogram meghívja SQLDataSourceToDriver, hogy lefordítsa az adatforrásból az illesztőprogramnak átadott összes adatot (eredményhalmaz adatait, táblázatneveit, sorszámait, hibaüzeneteit stb.). Előfordulhat, hogy a fordítási DLL nem fordít le bizonyos adatokat az adatok típusától és a fordítási DLL céljától függően; A karakteradatokat egy kódlapról egy másikra fordító DLL például figyelmen kívül hagyja az összes numerikus és bináris adatot.
Az fOption értéke a vParam értékére van állítva, amely SQLSetConnectAttr meghívásával van megadva a SQL_ATTR_TRANSLATE_OPTION attribútummal. Ez egy 32 bites érték, amely meghatározott jelentéssel rendelkezik egy adott fordítási DLL-hez. Megadhat például egy bizonyos karakterkészlet-fordítást.
Ha ugyanaz a puffer van megadva rgbValueIn és rgbValueOutesetében, a pufferben lévő adatok fordítása a helyén történik.
Bár cbValueIn, cbValueOutMaxés pcbValueOut SDWORD típusúak, SQLDataSourceToDriver nem feltétlenül támogatja a hatalmas mutatókat.
Ha SQLDataSourceToDriver HAMIS értéket ad vissza, előfordulhat, hogy az adatok csonkolása történt a fordítás során. Ha pcbValueOut (a kimeneti pufferben visszaadható bájtok száma) nagyobb, mint cbValueOutMax (a kimeneti puffer hossza), akkor csonkolás történt. Az illesztőprogramnak meg kell állapítania, hogy a csonkolás elfogadható volt-e. Ha a csonkolás nem történt meg, a SQLDataSourceToDriver hamis értéket adott vissza egy másik hiba miatt. Mindkét esetben egy adott hibaüzenet jelenik meg szErrorMsg.
További információ az adatok fordításáról: fordítási DLL-ek.
Kapcsolódó függvények
| További információ: | Lát |
|---|---|
| Az adatforrásnak küldött adatok fordítása | SQLDriverToDataSource |
| Kapcsolati attribútum beállításának visszaadása | SQLGetConnectAttr |
| Kapcsolati attribútum beállítása | SQLSetConnectAttr |