I'm a python beginner. I want to use Python 3 to check the test2
database on the SQL server. If it doesn't exist, I will create it. However, I find that an error is reported and I don't know what to do?
python code:
import pymssql
def conn():
ret = pymssql.connect(host='DESKTOP-4CDQOMR', user = 'sa', password = '123456')
if ret:
print("connect successfully!")
else:
print("connect failed!")
return ret
if __name__ == '__main__':
conn = conn()
if conn:
cursor = conn.cursor()
sql = "if not exist (select * from sys.databases where name = 'test2')"
conn.autocommit(True)
cursor.execute(sql)
conn.autocommit(False)
conn.close()
error information:
---------------------------------------------------------------------------
MSSQLDatabaseException Traceback (most recent call last)
srcpymssql.pyx in pymssql.Cursor.execute()
src\_mssql.pyx in _mssql.MSSQLConnection.execute_query()
src\_mssql.pyx in _mssql.MSSQLConnection.execute_query()
src\_mssql.pyx in _mssql.MSSQLConnection.format_and_run_query()
src\_mssql.pyx in _mssql.check_cancel_and_raise()
src\_mssql.pyx in _mssql.maybe_raise_MSSQLDatabaseException()
MSSQLDatabaseException: (156, b"Incorrect syntax near the keyword 'select'.DB-Lib error message 20018, severity 15:
General SQL Server error: Check messages from the SQL Server
DB-Lib error message 20018, severity 15:
General SQL Server error: Check messages from the SQL Server
")
During handling of the above exception, another exception occurred:
OperationalError Traceback (most recent call last)
F:jupyterconnect.py in <module>
20 sql = "if not exist (select * from sys.databases where name = 'test2')"
21 conn.autocommit(True)
---> 22 cursor.execute(sql)
23 conn.autocommit(False)
24 conn.close()
srcpymssql.pyx in pymssql.Cursor.execute()
OperationalError: (156, b"Incorrect syntax near the keyword 'select'.DB-Lib error message 20018, severity 15:
General SQL Server error: Check messages from the SQL Server
DB-Lib error message 20018, severity 15:
General SQL Server error: Check messages from the SQL Server
")
question from:
https://stackoverflow.com/questions/65870972/python-3-failed-to-check-whether-the-database-exists-and-create-it 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…