Romanov-krd
Дата: 15.06.2017 15:35:14
Добрый день. В Python не разбираюсь. Кто может подсказать Есть код который проверяет загруженность данных на сервере БД.
-Проверка загруженных данных
from java.sql import DriverManager
from java.sql import SQLException
from java.sql import Types
from java.lang import Class
import os
import string
#создаем подготовленный запрос
def prepareSQL():
con=odiRef.getJDBCConnection("SRC")
sql='''<%=odiRef.getOption("SQL query")%>'''
sql=sql.decode('cp1251')
return con.prepareStatement(sql)
prep = prepareSQL()
rs=prep.executeQuery()
if(not rs.next()):
prep.close()
raise 'Таблица пустая'
else:
if(rs.getInt(1)!=<%=odiRef.getOption("EXPECTED VALUE")%>):
prep.close()
raise 'Результат запроса не соответствует ожидаемому '+str(rs.getInt(1))+'!= <%=odiRef.getOption("EXPECTED VALUE")%>\n','''<%=odiRef.getOption("SQL query")%>'''
Нужно изменить его чтобы код подключался и вводил данные в таблицу
insert into DEV_DB_ODI.C_T_TEMP values('proverka')
Romanov-krd
Дата: 15.06.2017 17:46:47
вот переделал но ошибку выдает
from java.sql import DriverManager
from java.sql import SQLException
from java.sql import Types
from java.lang import Class
import os
import string
#создаем подготовленный запрос
def prepareSQL():
con=odiRef.getJDBCConnection("SRC")
sql='''insert into DEV_DB_ODI.C_T_TEMP values('proverka')'''
sql=sql.decode('cp1251')
return con.prepareStatement(sql)
prep = prepareSQL()
prep.executeQuery()
ошибка
org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 19, in <module>
NameError: name 'executeQuery' is not defined
что это???
Romanov-krd
Дата: 16.06.2017 08:55:53
вот правильный ответ
from java.sql import DriverManager
from java.sql import SQLException
from java.sql import Types
from java.lang import Class
import os
import string
#создаем подготовленный запрос
def prepareSQL():
con=odiRef.getJDBCConnection("SRC")
sql='''запрос..........................'''
sql=sql.decode('cp1251')
return con.prepareStatement(sql)
prep = prepareSQL()
prep.execute()
prep.close()
это все в odi делается