microsoft / microsoft/mssql-python

Bulk Copy Handles Decimal Inconsistently Compared with Normal Queries

Aperta
#457 3 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@Theekshna ci sta già lavorando.

Dal 2/3/2026.

area: bulk-copy triage needed
Lingua principale
Python
Stelle
473
Fork
60
Merge medio
2g 11h
PR unite (30g)
36

Descrizione

Describe the bug

Trying to insert into a Decimal column with the new bulk_copy can throw an exception regarding mismatched decimal scale, whereas a normal insert will succeed and automatically deal with the issue. I would like to see bulk_copy work similarly and seamlessly.

To reproduce
import mssql_python
from decimal import Decimal

conn = mssql_python.connect([conn string], autocommit=True)
cur = conn.cursor()
cur.execute('create table dectest (d decimal(10, 2));')

# This next line works fine
cur.execute('insert into dectest values (?)', Decimal('123.456'))

# This line fails with the below exception
cur.bulkcopy('dectest', (Decimal('123.456'),))
Exception message
ValueError: Input decimal scale 3 exceeds target scale 2
Expected behavior

The bulkcopy should succeed and the value should be automatically rounded as it is in the insert.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.