Comments (7)
Seems reasonable, will need to have a look into this.
from sqlalchemy-exasol.
I ran into this, too. I think the source of the problem is that for DSN-less connections, the driver name is put into curly braces (pyodbc.py:78). This makes it impossible to directly provide a driver file.
from sqlalchemy-exasol.
Ok I checked this. @FlorianWilhelm, I am not sure if you try to connect via a connection URL (exa+pyodbc://...) or via a DSN.
Connecting via a DSN you can pass the relevant section of the driver ini file as parameter. EXAODBC is just the default. E.g. using the following connecting string
exa+pyodbc://<user>:<pwd>@<ip-range>:<port>/schema?driver=MYDRIVER
would look for the section 'MYDRIVER' in your odbcinst.ini.
This works for me.
from sqlalchemy-exasol.
@BY-jk I connected with DSN only, so no connection URL. The problem is that if you provide the DRIVER= parameter inside your DSN section, it still checks for [EXAODBC].
from sqlalchemy-exasol.
Works for me. I removed all entries from the odbcinst.ini (the ini file holding the global driver directive). I added a section like this to my odbc.ini (the file holding system DSNs):
[EXA_TEST]
DRIVER=/path/to/libexaodbc-uo2214lv1.so
EXAHOST=<ip range>:<port>
EXASCHEMA=some_schema
and than connected with
from sqlalchemy import create_engine
e = create_engine('exa+pyodbc://USER:PWD@EXA_TEST')
c = e.connect()
r = c.execute('select 42 from dual;')
And I got the answer I was looking for
from sqlalchemy-exasol.
@BY-jk this solution leads to the following error:
InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [unixODBC][Driver Manager]
Data source name not found, and no default driver specified (0) (SQLDriverConnect)')
from sqlalchemy-exasol.
Can you please share more details on your setup, e.g.:
- Operating system
- (unix?)ODBC version
- Python version
- SQLAlchemy_exasol version
- your odbc configuration
The error message suggests that you do not have the data source EXA_TEST
defined (assuming you copied and pasted the connection string from the snippet above.
If this is your connection string: 'exa+pyodbc://USER:PWD@EXA_TEST'
you are using the EXASOL dialect (indicated by 'exa'), connecting using pyodbc (indicated by 'pyodbc'), with USER and PWD as username and password, using the ODBC data source 'EXA_TEST'.
Maybe the data source is not defined in your
from sqlalchemy-exasol.
Related Issues (20)
- ✨ Add caching support for Exasol Dialects in respect to SQLA 1.4
- ✨ Add support for HASHTYPE, GEOMETRY and INTERVAL type
- ✨ Add list of un/supported SQLAlchemy features to documentation
- 🔧 Rework Integration Test Setup
- 🔧 Update Integration Test Docker Environment to 1.5.0
- 🐞 Difficult qmarks roundtrip tests fails
- 📦 Update SqlAlchemy package to version >=1.4 < 2.0.0
- Loosen version requirements on "packaging" HOT 1
- 🐞 After calling get_lastrowid through an insert, we see commit in the database. HOT 5
- 🐞 Prepared statements send the wrong types as parameters to the server HOT 1
- 🐞 Various SQLA compliance tests are failing for the websocket based dialect
- 🔧 Make pyodbc an optional dependency (feature) through setuptools extras HOT 3
- problem with Exasol driver's WebSocket connection cleanup process HOT 9
- 🔧 Add in code deprecation warnings for `[pyodbc, turbodbc]`
- 🔧 Remove `turbodbc` support
- 🔧 Remove `pyodbc` support
- 🔧 Remove tests/testing against Exasol 7.0.x
- ✨ Add support for testing of Exasol 8.x
- Support SQLAlchemy 2 HOT 3
- ✨ Make websocket types PEP-249 compliant HOT 5
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 sqlalchemy-exasol.