microsoft / microsoft/mssql-python
Bulk Copy Handles Decimal Inconsistently Compared with Normal Queries
Aperta
@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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Valutazione
Questa issue non è ancora stata valutata.