It's that MS-SQL weenie metaperl back at ya with another problem with
the latest svn SA:
The multi-part identifier "KEContracts.refnum" could not be bound.
Bottom line is that there WHERE part of the SQL looks like this:
WHERE [KEContracts].refnum = %(KEContracts_refnum)s
and it is a fact that we need to either remove the [KEContracts]. from
in front of the refnum declaration, or add .[dataTables]. between
[KEContracts] and [refnum] to fix.
Here is my source code:
#!/usr/bin/env python
from pyparsing import *
import pprint, sys
import data.config.db
from sqlalchemy import *
sa = data.config.db.sqlalchemy(schema="DataTables", echo=False)
ke_contracts = Table('KEContracts', sa.metadata, autoload=True,
schema="DataTables")
f = open('UK_Agg.txt')
for i, line in enumerate(f.read().split('|||')):
print "line #", i
rec = delimitedList(QuotedString('"',escQuote='""',
multiline=True)).parseString(line)
refnum = rec[0]
print "\trefnum", refnum
result = ke_contracts.select(ke_contracts.c.refnum ==
refnum).execute()
dat = dict(
ParentRefnum = rec[1], # ParentRefNum - int
Licensee = rec[2], # Licensee
Licensor = rec[3], # Licensor
ContractDate = rec[4], # ContractDate - datetime
#ContractTerms = rec[5], # ContractTerms
ContractCategory = rec[30], # ContractCategory
PartIndex = rec[6], # PartIndex - int
#RRates = 0, # RRates - not in datafile
GeoRestrict = rec[8], # GeoRestrict
Industry = rec[30], # Industry
Exclusive = rec[10], # Exclusive
UserID = rec[20], # UserID - int
Status = rec[9], # Status - smallint
CreateDate = rec[11], # CreateDate - datetime
RecordDate = rec[13], # RecordDate - datetime
AgreementType = rec[12], # AgreementType
)
if result.fetchone() is None:
print "\t\tINSERT"
#pprint.pprint(dat)
dat[refnum] = refnum
ke_contracts.insert().execute(dat)
else:
print "\t\tUPDATE"
ke_contracts.update(ke_contracts.c.refnum==refnum).execute(**dat)
sys.exit()
class sqlalchemy:
def __init__(self, ip="4.19.18.7" db="DATA", schema="DataTables",
echo=True):
conn_url = "mssql://perl2:[EMAIL PROTECTED]:1433/%s" % (ip, db)
print "conn_url", conn_url
self.engine = create_engine(conn_url)
self.engine.dialect.set_default_schema_name(schema)
self.engine.echo=echo
self.metadata = BoundMetaData(self.engine)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---