Рейтинг:
2
Thomas Daniels
Ваш драйвер Python не поддерживает тип ODBC SQL, который называется "-151" (я не смог найти, что это за фактический тип), поэтому он не может просто прочитать таблицу, поэтому вам нужно будет добавить выходной преобразователь для типа -151, чтобы водитель знал, что с ним делать. Вот пример выходного преобразователя, вы можете преобразовать его в то, что вам нужно для вашего типа: Использование функции выходного преобразователя · mkleehammer/pyodbc Wiki · GitHub[^]
Richard Deeming
Сложно искать отрицательные числа в Google - он склонен думать, что вы хотите исключить это число из результатов поиска. :)
Насколько я могу судить, -151
является SQL_SS_UDT
- определяемый пользователем тип.
acg99
Столбец в таблице SQL, создающий ошибку, имеет тип данных hierarchyID. Я понятия не имею, что такое шляпа. Это выглядит как строка текста с x где-то в нем: вот ссылка, чтобы увидеть, как это выглядит: https://snag.gy/1aNCuj.jpg
Эта база данных является образцом базы данных, которую Microsoft предоставляет AdventureWorks2012.
Как это будет работать, Преобразуя этот столбец в строку с помощью выходного преобразователя?
Thomas Daniels
Я точно не знаю, что такое hierarchyID, но вы можете попробовать начать с настройки примера, который я связал с -151, а затем отладить, чтобы перейти в ваш метод конвертера и выяснить, что содержит dto_value (в коде Python).