【问题标题】:How can i access Views instance of Tables in ODBC using pyodbc如何使用 pyodbc 访问 ODBC 中表的视图实例
【发布时间】:2020-10-10 11:09:01
【问题描述】:

我想使用 python 脚本访问我的数据库。

我可以通过使用访问所有表

SELECT * FROM poorvika1.payment;

但我想使用 VIEW 语句访问查询

SELECT * FROM poorvika1.pymentview;

这是我的python脚本

import pyodbc

for py in pyodbc.drivers():
    print(py)
    
    
connection =pyodbc.connect(driver='SQL Server',server='localhost',database='test',uid='test',password='root')


cursor = connection.cursor()

for row in cursor.tables():
    print(row.table_name)

此查询无效

cursor.execute('SELECT * FROM poorvika1.pymentview')

我想访问pyodbc包中的视图查询

【问题讨论】:

  • edit您的问题正确解释“不工作”的含义。你有错误吗?如果有,它说明了什么?
  • @GordThompson i.stack.imgur.com/tbNGT.png 请查看此图片链接
  • 屏幕截图表明您正在使用 MySQL_8 服务器,但您的连接字符串指定了driver='SQL Server',它是 Microsoft SQL Server 的驱动程序,因此这将永远无法正常工作。如果您真的在使用 MySQL 数据库,请考虑使用 mysqlclientPyMySQL 而不是 pyodbc。
  • 为了您的理解,我使用 mysql 创建。但只有原始的一个sql。我成功连接了几个sql。连接后,我也可以访问存储过程和表。但我想访问视图查询
  • 好的,所以您需要展示当您尝试通过 pyodbc 对 SQL Server 视图运行 SELECT 时会发生什么。如果您收到错误,那么edit 您的问题将包含完整的堆栈跟踪。

标签: python odbc pyodbc pypyodbc


【解决方案1】:

你试过了吗

cursor.execute('SELECT * FROM poorvika1..pymentview')

for row in cursor:
    print(row)

【讨论】:

  • ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]无效的对象名称'GET_ITEM_MODEL_LIST'。(208) (SQLExecDirectW)")
  • 'SELECT * FROM Poorvika1..pymentview'
猜你喜欢
  • 1970-01-01
  • 2014-01-10
  • 2011-01-13
  • 2016-07-22
  • 2014-11-28
  • 1970-01-01
  • 1970-01-01
  • 2021-06-13
  • 1970-01-01
相关资源
最近更新 更多