sql server - MSSQL - Invalid column name with Java/JTDS -
i have read threads problem , of them finish without solution... anyway hope luckier...
i'm trying utilize jdbc connect mssql db. used driver microsoft sqljdbc4.jar , had no problem. since have switch jtds (i'm using 1.2.8) got exception when seek run same sql string:
java.sql.sqlexception: invalid column name 'id'. @ net.sourceforge.jtds.jdbc.sqldiagnostic.adddiagnostic(sqldiagnostic.java:372) @ net.sourceforge.jtds.jdbc.tdscore.tdserrortoken(tdscore.java:2894) @ net.sourceforge.jtds.jdbc.tdscore.nexttoken(tdscore.java:2334) @ net.sourceforge.jtds.jdbc.tdscore.getmoreresults(tdscore.java:643) @ net.sourceforge.jtds.jdbc.jtdsstatement.executesqlquery(jtdsstatement.java:506) @ net.sourceforge.jtds.jdbc.jtdsstatement.executequery(jtdsstatement.java:1433) the string
select tabledatastoreitem.name, tabledatastoreitem.path tabledatastoreitem, store, service, serviceprovider tabledatastoreitem.store_id = store.id , store.service_store_id = service.id , service.serviceprovider_id = serviceprovider.id , serviceprovider.name = 'systemiservice' , store.createdttm < convert(varchar(100), dateadd(mi, -7, getdate())); any idea?
from can see in statement, there 3 possibilities.
store.id service.id serviceprovider.id debug removing portions of statement, or executing in command line, until figure out reference .id causing issue. highly suggest using naming such as
store.store_id service.service_id serviceprovider.serviceprovider_id it makes debugging , readability lot easier in future.
edit:
try using next statement. same yours (from can tell), uses joins instead of crosses. create debugging bit easier.
select tabledatastoreitem.name, tabledatastoreitem.path tabledatastoreitem bring together store on store.id=tabledatastoreitem.store_id bring together service on service.id = store.service_store_id bring together serviceprovider on service.serviceprovider_id = serviceprovider.id serviceprovider.name = 'systemiservice' , store.createdttm < convert(varchar(100), dateadd(mi, -7, getdate())); java sql-server jdbc jtds
No comments:
Post a Comment