J'utilise J'ai installé les versions de package suivantes: p> J'ai configuré / etc / etc. UNIXODBC.INI CODE> Comme ceci: P>
Original: 4744611; Returned: 4096
Traceback (most recent call last):
File "/home/nosklo/devel/teste_mssql_pyodbc_unicode.py", line 53, in <module>
assert data == returned_data
AssertionError
3 Réponses :
Je pense que vous devriez utiliser un récupération devrait être p> Mise à jour: strong> Le problème est d'insertion. Changez votre insertion SQL sur les éléments suivants: P> pyodbc.binaire code> instance pour envelopper les données:
"""DECLARE @txtptr varbinary(16)
INSERT INTO testing (myimage) VALUES ('')
SELECT @txtptr = TEXTPTR(myimage) FROM testing
WRITETEXT testing.myimage @txtptr ?
"""
Correct, bien que je devais utiliser str (cur.fetchall () [0] [0]) pour obtenir les données. .Value retourné: attributError: "tampon 'objet n'a pas d'attribut" valeur "
J'ai toujours des problèmes. J'ai mis à jour la question, s'il vous plaît jeter un oeil.
Thaans Vinay pour la mise à jour. Éteint le problème n'est pas en insertion. J'ai essayé le code TextPtr et j'ai obtenu exactement le même résultat. Merci pour votre temps. J'ai de nouveau modifié la question pour montrer le problème actuel. Pouvez-vous me donner le code complet que vous avez dit qui fonctionnait? Pouvez-vous me donner des détails sur votre configuration? Je ne peux toujours pas le faire fonctionner. Si cela ne demande pas grand chose, pouvez-vous également exécuter mon code inchangé sur votre configuration et dites-moi les résultats? Je l'ai rendu disponible sur Coller.pocoo.org/show/125955 et il utilise Un fichier sur Internet afin qu'il fonctionnera exactement le même.
Je n'ai pas accès SQL Server 2000 de Jaunty pour le moment; et votre code (posté sur Lodgeit) fonctionne parfaitement pour moi sous Windows. Donc, cela pourrait être quelque chose à voir avec le pilote Freetds ou autre chose dans la pile Linux. Désolé je ne peux pas être d'aide plus d'aide.
hein, juste après avoir offert la générosité, j'ai découvert la solution.
Vous devez utiliser J'ai utilisé p> et tout a fonctionné bien. p> étrange est ce que Documentation de Freetds dit sur l'option de configuration de la taille du texte: P> valeur par défaut de La configuration indique également que la valeur maximale (et la valeur par défaut) est de 4,294 967 295. Cependant, lorsque vous essayez d'utiliser cette valeur dans la requête, je reçois une erreur, le numéro maximum que je pourrais utiliser dans la requête est de 2 147 483 647 (moitié). P> de cette explication que je pensais que définir cette option de configuration serait assez. Il s'avère que j'avais tort, définir des textes sur la requête fixe le problème. P> ci-dessous est le code de travail complet: p> SET Textsize 2147483647 Code> sur la requête, en plus de l'option de configuration de la taille du texte dans
/etc/freetds/freetds.conf code>. p>
textsize code>, en octets. Pour
texte code> et
image code> DaTatypes, définit la largeur maximale de toute colonne renvoyée. Cf.
SET Textsize code> dans la documentation
t-sql code> de votre serveur. em> p>
BlockQuote>
J'ai eu un problème similaire 4096 code> troncature sur
texte code>, quel
définit textsize 2147483647 code> corrigé pour moi, mais cela m'a aussi réparé pour moi :
import os
os.environ['TDSVER'] = '8.0'
Qu'est-ce que vous obtenez lorsque vous sélectionnez DataLength (myImage) du test '? Au moins cela vous dira si votre problème est avec le stockage ou la récupération.