-
Notifications
You must be signed in to change notification settings - Fork 39
Open
Labels
triage neededFor new issues, not triaged yet.For new issues, not triaged yet.
Description
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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
triage neededFor new issues, not triaged yet.For new issues, not triaged yet.