У меня есть скрипт Python, который постоянно терпит неудачу с ошибкой [SQL Server] Неправильный синтаксис рядом с ';'. (Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 У меня есть скрипт Python, который постоянно терпит неудачу с ошибкой [SQL Server] Неправильный синтаксис рядом с ';'. (

Сообщение Anonymous »

Полная ошибка:

Произошла ошибка при выполнении сценария: ('42000', "[42000] [Microsoft][ODBC Driver 17] для SQL Server][SQL Server]Неверный синтаксис рядом с ';' (102) (SQLExecDirectW)")

Часть кода, которая выглядит так. быть неудачным:
client_connection_string = f'DRIVER={{ODBC Driver 17 for SQL Server}};SERVER={server};DATABASE={database};UID={username};PWD={password};Trusted_Connection=yes;'
client_conn = pyodbc.connect(client_connection_string)
client_cursor = client_conn.cursor()

# Check the current database context and the existence of the table
client_cursor.execute(f"USE{database};")
check_table_query = "SELECT * FROM dbo.'tablename' WHERE 1=0"
try:
client_cursor.execute(check_table_query)
except pyodbc.Error as e:
client_conn.close()
return render_template('script_execution_result.html', execution_result=f"Table 'dbo.tablename' does not exist or is not accessible: {str(e)}", execution_result_color="red")

Я только что заменил имя таблицы и изменил его на dbo.tablename, поэтому код выглядит стандартным, поскольку ошибка, похоже, находится в client_cursor.execute(f"USE{database) };")
Эта часть кода посвящена выполнению выбора в другой базе данных после получения запроса из одной базы данных. Существуют и другие части кода, которые правильно запрашивают другие части SQL. Эта часть не работает.
По сути, у меня есть таблица, в которой есть сценарии SQL, сохраненные как «nvarchar(max)». Предполагается, что код принимает запрос Select и запускает его в другой базе данных SQL.
Может кто-нибудь помочь? Я застрял.
Я пытался удалить ; а также попытался поставить две фигурные скобки перед и после «базы данных».
Я также пытался проверить pythontutor, и он говорит: -
client_cursor.execute(f" USE {database};") # строка 4

Подробнее здесь: https://stackoverflow.com/questions/786 ... rect-synta
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»