Comment SQL insert brut/champ Binaire de la valeur des octets/tableau d'entiers à l'aide de VBScript (ou VB6)?

Personne ne sait comment passer un plusieurs octets dans un fichier Binaire (ou varbinary) champ à l'aide de SQL et idéalement dans ADO (classique) & VBScript (ou Visual Basic 6)?

Je souhaite encoder 10 à 20 (peut-être plus) octets de données et de données stockées dans SQL champ db. (Ce n'est pas MS-SQLSVR, mais j'espère qu'un SQL standard pris en charge le format de travail!)

Les octets sont disponibles en une chaîne d'octets obtenus via AscB/ChrB, OU, d'un tableau d'octets (en fait des variantes de type byte obtenus par l'intermédiaire du 'cbyte') et stockés dans le tableau.

Première option: utiliser le format de la chaîne de
J'ai eu quelques (limitée) de la réussite de la création de la SQL insert:

x = ".>?hD-&91k[="    '<psuedo string of chars, some unprintable
Insert Into rawtest (byt) Values (CAST('" & x & "' as SQL_BINARY(12)))

Mais je suis inquiète de ce que la chaîne de valeurs null tronque les données dans le champ et d'autres non-impression des caractères de contrôle va obtenir de la manière de traiter les données. Est-il un moyen pour éviter cela?

Deuxième Option: Tableau D'Octets
Je me permet de mettre les données dans un tableau assez facilement, mais ne vois pas comment passer à l'instruction SQL Insert. Si je tente de passer en 12 octets, l'insertion échoue en raison de la FONTE de la tentative de stocker les données dans un Entier (4 octets). Si je passe sur un seul octet, il fonctionne, par exemple:

x = a(0)

Et continue de travailler pour 4 octets, mais échoue lorsque les débordements d'Entiers. Aussi, il réorganise les données

J'ai tenté d'utiliser diverses solutions de contournement:

Insert Into rawtest (byt) Values (CAST('12,34,45' as SQL_BINARY(12)))
Insert Into rawtest (byt) Values (CAST(&h12&h34 as SQL_BINARY(12)))
Insert Into rawtest (byt) Values (CAST(0x123456789012 as SQL_BINARY(12)))

J'ai aussi essayé des combinaisons semblables avec:

Insert Into rawtest (byt) Values (CONVERT('" & x & "', SQL_BINARY)

Mais tout fail!

Idéalement, je veux une méthode, une méthode, qui prend un petit binaire-tableau de jusqu'à 20 octets(idéalement plein d'octets plage de 0 à 255, mais pourrait prendre moins) et les transmet jusqu'à une plaine, raw, binaire SQL champ.

Idéalement je besoin de le faire en VBScript/ADO, mais peut prendre une VB6 en fonction de la solution si elle est disponible. Je veux ce que "brutes" binaire, je ne veux pas utiliser la table ascii codage, comme en Base64.

J'ai googlé jusqu'à ce que je suis engourdi et havn't pas trouvé grand chose à tout pertinent pour les champs binaires en SQL.

Pouvez-vous aider? Toutes les réponses appréciés. De nombreux thx.

Juste pour être clair, je suis à la recherche de stocker des données binaires brutes dans le tableau, non pas comme un 'attaché' mémo binaire/blob/image type de champ.

OriginalL'auteur andora | 2009-05-28