Comments (6)
@githubmlai - Essentially, yes. You'd just keep calling nextset()
until it returned False
. The exception, if any, would either get thrown immediately or on one of the nextset()
calls.
from pyodbc.
I notice that your stored procedure does not include
SET NOCOUNT ON;
as the first executable statement. Doing so could very likely avoid the issue.
from pyodbc.
I'm experiencing a similar issue. When pyodbc executes the following stored procedure, the error (divide by 0) is not caught
Here is the stored proc
IF OBJECT_ID('dbo.spSwallowError') IS NULL
EXEC ('CREATE PROCEDURE dbo.spSwallowError AS SET NOCOUNT ON;');
GO
ALTER PROCEDURE dbo.spSwallowError
AS
BEGIN
SELECT 1;
SELECT 1 / 0;
END;
from pyodbc.
@githubmlai - The SELECT 1;
statement has already put a result set into the "pipeline" back to the client, so you won't see the exception until you call nextset()
to try and retrieve the second result set:
>>> import pyodbc
>>> conn = pyodbc.connect("DSN=myDb;")
>>> crsr = conn.cursor()
>>> crsr.execute("{CALL dbo.spSwallowError}")
<pyodbc.Cursor object at 0x03041218>
>>> rows = crsr.fetchall()
>>> rows
[(1, )]
>>> crsr.nextset()
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
crsr.nextset()
pyodbc.DataError: ('22012', '[22012] [Microsoft][SQL Server Native Client 10.0][SQL Server]Divide by zero error encountered. (8134) (SQLMoreResults)')
from pyodbc.
Thanks! Any suggestions on how to guarantee pyodbc rethrows the error? Should I always fetch all the rows and then call next set repeatedly?
from pyodbc.
ERROR_NUMBER() AS ErrorNumber
ERROR_SEVERITY() AS ErrorSeverity
ERROR_STATE() AS ErrorState
ERROR_PROCEDURE() AS ErrorProcedure
ERROR_LINE() AS ErrorLine
ERROR_MESSAGE() AS ErrorMessage;
how to get these parameters in pyodbc using python? can anyone help me out please!!!!
from pyodbc.
Related Issues (20)
- pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/usr/local/lib/libmyodbc8a.so' : file not found (0) (SQLDriverConnect)") HOT 6
- Linux openSUSE Tumbleweed connection to MariaDB stopped working with version 5.x.x HOT 12
- sqlalchemy.exc.OperationalError: (pyodbc.OperationalError) ('08001', '[08001] [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: [error:0A000102:SSL routines::unsupported protocol] (-1) (SQLDriverConnect)') HOT 1
- Connection is busy with results for another command (0) (SQLExecDirectW) HOT 3
- Transaction is not getting rolled back HOT 7
- MACOS 系统使用 HOT 4
- Memory leak when passing strings within table value parameter to stored proc HOT 9
- Add support for SQLTablePrivileges
- Login Timeout Error when connecting to Synapse database using pyodbc python library in Azure synapse notebook via Managed Identity HOT 1
- reference count encoding in the connect function HOT 5
- PyToCType uses internal function removed from Python 3.13 HOT 3
- I am trying to install pyodbc in MacBook Pro M3 chip - arm64. The drivers are installed succesfully for odbc 13,17 and 18. But pyodbc is not able to detect the drivers.:
- I am trying to install pyodbc in MacBook Pro M3 chip - arm64. The drivers are installed succesfully for odbc 13,17 and 18. But pyodbc is not able to detect the drivers. ERROR: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)") HOT 5
- Executing multiple queries HOT 1
- pyodbc.connect() gives an error when executing it with pytest HOT 1
- InterfaceError: Data source name not found with pyodbc despite working with isql HOT 8
- Multiple threads querying same table takes a long time HOT 19
- Timeout not being enforced in SQL query HOT 7
- How to use Federated credentials with service principal to auth the Azure resources HOT 7
- Ansi to Unicode conversion error (noob) HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyodbc.