I'm focusing on a course to automate parsing data from XML files and storing it into several databases. (Particularly the USGS realtime water quality service, if anyone's interested, at http://waterservices.usgs.gov/rest/WaterML-Interim-REST-Service.html) It's designed in Python 2.5.1 using LXML and PYODBC. The databases have been in Microsoft Access 2000.
The bond function is the following:
connString = 'DRIVER=DBQ=' + db
cnxn = pyodbc.connect(connString, autocommit=False)
cursor = cnxn.cursor()
return cnxn, cursor
where db may be the filepath towards the database.
a) opens the bond towards the database
b) parses 2 to eight XML files for your database and develops the values from their store into a number of records to place in to the database (utilizing a nested dictionary structure, not really a user-defined type)
c) loops with the number of records, cursor.execute()-ing an SQL query for every one
d) commits and shuts the database connection
When the cursor.execute() call throws a mistake, it creates the traceback and also the query towards the log file and progresses.
When my colliege runs it on his machine, for just one particular database, specific records only will 't be there, without any errors recorded. After I run the identical code around the identical copy from the database within the identical network path from the machine, all of the data that needs to be there's there.
My colliege and that i are generally on Home windows XP computer systems with Microsoft Access 2000 and also the same versions of Python, lxml, and pyodbc installed. I've no clue how you can check whether we have a similar version from the Microsoft ODBC motorists. I've not been capable of finding any distinction between the records which are there and also the records that are not. I am along the way of testing if the same issue happens using the other databases, and whether or not this happens on the third coworker's computer too.
What I'd enjoy to understand is ANYTHING anybody can think about that will cause this, since it does not seem sensible in my experience. In summary: Python code performing SQL queries will quietly fail 1 / 2 of them on a single computer and work perfectly on another.
Forget about problem. I simply had my colliege run it again, and also the database was up-to-date completely without any missing records. Still no clue why it unsuccessful to begin with, nor whether it'll happen again, but "problem solved."
I've no clue how you can check whether we have a similar version from the Microsoft ODBC motorists.
I believe you are searching for User Interface Administrative Tools Data Sources (ODBC). Click on the "Motorists" tab.
I believe either Access 2000 or Office 2000 shipped having a desktop edition of SQL Server known as "MSDE". May be worth setting up that for testing. (Or production, for your matter.)