pymssql ValueError: list.remove(x): x not in list
pymssql ValueError: list.remove(x): x not in list
我对以下代码有疑问:
import pandas as pd
import tensorflow
from matplotlib import pyplot
from sklearn.preprocessing import MinMaxScaler
from keras.models import model_from_json
import pymssql
加载json并创建模型
json_file = open('model_Messe_Dense.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
loaded_model.load_weights("model_Messe_Dense.h5")
导入值
import pickle
y_scaler = pickle.load( open( "y_scaler.p", "rb" ))
x_scaler = pickle.load( open( "x_scaler.p","rb"))
正在连接到服务器并更新值
while True:
try:
conn = pymssql.connect(
server='SHS_Messe',
user='sa',
password='sa',
database='ChillWARE_Transfer'
)
stmt = "SELECT screw_speed,\
ID,\
Cylinder_Temperatur_Zone_1,\
Cylinder_Temperatur_Zone_2,\
Cylinder_Temperatur_Zone_3,\
Cylinder_Temperatur_Zone_4,\
Cylinder_Temperatur_Zone_5,\
Cylinder_Temperatur_Zone_6,\
mass_pressure,\
Update_Done\
FROM to_ChillWARE where ID= (SELECT MAX(ID) FROM
to_ChillWARE)"
# Excute Query here
df = pd.read_sql(stmt,conn)
except pymssql.Error as e:
print (e)
break
feature_col_names = ['screw_speed','Cylinder_Temperatur_Zone_1','Cylinder_Temperatur_Zone_2','Cylinder_Temperatur_Zone_3',\
'Cylinder_Temperatur_Zone_4','Cylinder_Temperatur_Zone_5','Cylinder_Temperatur_Zone_6']
predicted_class_names = ['mass_pressure']
Update = ['Update_Done']
x = df[feature_col_names].values
Update = df[Update].values
x_scaled = x_scaler.transform(x)
x_test = x_scaled
predicted = loaded_model.predict(x_test)
predicted = y_scaler.inverse_transform(predicted)
predicted=predicted.reshape(-1)
predicted.shape
predicted=predicted * 51
value=str(predicted)
value=value.replace('[','')
value=value.replace(']','')
Update = str(Update)
Update=Update.replace('[','')
Update=Update.replace(']','')
if Update == "False":
cursor = conn.cursor()
query = "UPDATE to_ChillWARE SET [mass_pressure] ="
query = query + value + ",[Update_Done] = 1"
query = query + " where ID= (SELECT MAX(ID) FROM to_ChillWARE)"
cursor.execute(query)
conn.commit()
我想检查我是否与 mssql 服务器连接,如果 Update == False 我想更新值。
在我的电脑上一切正常。我通过 python 和 exe (pyinstaller) 执行代码。但是如果我想把它转移到另一台电脑上,我会得到错误:
Traceback (most recent call last):
File "Test.py", line 29, in <module>
File "src\pymssql.pyx", line 636, in pymssql.connect
File "src\_mssql.pyx", line 1957, in _mssql.connect
File "src\_mssql.pyx", line 675, in _mssql.MSSQLConnection.__init__
ValueError: list.remove(x): x not in list
我认为pymssql函数有问题。
我在这里发现了同样的错误,但我不明白解决方案:
https://github.com/sqlmapproject/sqlmap/issues/3035
如果有人能提供帮助那就太好了。
谢谢大家
根据您提供的 link 中的评论,它看起来像是一个连接错误。
您是否已从您尝试使用的计算机上检查过您有权使用提供的服务器名称和这些凭据访问数据库服务器的代码?
使用以下评论中的解决方案进行编辑:
您可以通过在 while 循环外定义 "conn = pymssql.connect..." 并始终使用该变量来重用连接,这样您就不会在每次迭代时都创建连接。
我对以下代码有疑问:
import pandas as pd
import tensorflow
from matplotlib import pyplot
from sklearn.preprocessing import MinMaxScaler
from keras.models import model_from_json
import pymssql
加载json并创建模型
json_file = open('model_Messe_Dense.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
loaded_model.load_weights("model_Messe_Dense.h5")
导入值
import pickle
y_scaler = pickle.load( open( "y_scaler.p", "rb" ))
x_scaler = pickle.load( open( "x_scaler.p","rb"))
正在连接到服务器并更新值
while True:
try:
conn = pymssql.connect(
server='SHS_Messe',
user='sa',
password='sa',
database='ChillWARE_Transfer'
)
stmt = "SELECT screw_speed,\
ID,\
Cylinder_Temperatur_Zone_1,\
Cylinder_Temperatur_Zone_2,\
Cylinder_Temperatur_Zone_3,\
Cylinder_Temperatur_Zone_4,\
Cylinder_Temperatur_Zone_5,\
Cylinder_Temperatur_Zone_6,\
mass_pressure,\
Update_Done\
FROM to_ChillWARE where ID= (SELECT MAX(ID) FROM
to_ChillWARE)"
# Excute Query here
df = pd.read_sql(stmt,conn)
except pymssql.Error as e:
print (e)
break
feature_col_names = ['screw_speed','Cylinder_Temperatur_Zone_1','Cylinder_Temperatur_Zone_2','Cylinder_Temperatur_Zone_3',\
'Cylinder_Temperatur_Zone_4','Cylinder_Temperatur_Zone_5','Cylinder_Temperatur_Zone_6']
predicted_class_names = ['mass_pressure']
Update = ['Update_Done']
x = df[feature_col_names].values
Update = df[Update].values
x_scaled = x_scaler.transform(x)
x_test = x_scaled
predicted = loaded_model.predict(x_test)
predicted = y_scaler.inverse_transform(predicted)
predicted=predicted.reshape(-1)
predicted.shape
predicted=predicted * 51
value=str(predicted)
value=value.replace('[','')
value=value.replace(']','')
Update = str(Update)
Update=Update.replace('[','')
Update=Update.replace(']','')
if Update == "False":
cursor = conn.cursor()
query = "UPDATE to_ChillWARE SET [mass_pressure] ="
query = query + value + ",[Update_Done] = 1"
query = query + " where ID= (SELECT MAX(ID) FROM to_ChillWARE)"
cursor.execute(query)
conn.commit()
我想检查我是否与 mssql 服务器连接,如果 Update == False 我想更新值。
在我的电脑上一切正常。我通过 python 和 exe (pyinstaller) 执行代码。但是如果我想把它转移到另一台电脑上,我会得到错误:
Traceback (most recent call last):
File "Test.py", line 29, in <module>
File "src\pymssql.pyx", line 636, in pymssql.connect
File "src\_mssql.pyx", line 1957, in _mssql.connect
File "src\_mssql.pyx", line 675, in _mssql.MSSQLConnection.__init__
ValueError: list.remove(x): x not in list
我认为pymssql函数有问题。 我在这里发现了同样的错误,但我不明白解决方案:
https://github.com/sqlmapproject/sqlmap/issues/3035
如果有人能提供帮助那就太好了。
谢谢大家
根据您提供的 link 中的评论,它看起来像是一个连接错误。
您是否已从您尝试使用的计算机上检查过您有权使用提供的服务器名称和这些凭据访问数据库服务器的代码?
使用以下评论中的解决方案进行编辑:
您可以通过在 while 循环外定义 "conn = pymssql.connect..." 并始终使用该变量来重用连接,这样您就不会在每次迭代时都创建连接。