首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用python从teradata获取表列表时出现语法错误

使用python从teradata获取表列表时出现语法错误
EN

Stack Overflow用户
提问于 2018-06-21 05:56:07
回答 1查看 274关注 0票数 2

出于学习目的,我尝试使用以下代码在Python中从Teradata中获取表列表:

代码语言:javascript
复制
import jaydebeapi
import pandas as pd

try:
   conn = jaydebeapi.connect(jclassname='com.teradata.jdbc.TeraDriver',
                                      url="jdbc:teradata://10.10.10.10",
                                      driver_args=['@user','@pss'],
                                      jars=['/mnt/TERADATA/tdgssconfig.jar','/mnt/TERADATA/terajdbc4.jar'])

   print("Connection was successful")
except Exception as e:
        print(e)

 #df = pd.read_sql_query('SELECT Databasename,TableName FROM dbc.tables WHERE tablekind = \'T\'',conn)
  dfr = pd.DataFrame(df)
  print(dfr.head(3))

上面的方法工作得很好,但是当我尝试根据数据库名称来获取表列表时,事情就不能正常工作了:

代码语言:javascript
复制
 df = pd.read_sql_query('SELECT Databasename,TableName FROM dbc.tables WHERE tablekind = \'T\' and DatabaseName ='SALES'',conn)
 dfr = pd.DataFrame(df)
 print(dfr.head(3))

获取:

代码语言:javascript
复制
Error: Invalid Syntax

它已经尝试了几个小时,但无法通过它。问这个问题是非常愚蠢的,但是请告诉我我哪里错了。

代码语言:javascript
复制
Ref: https://forgetcode.com/Teradata/1433-To-get-all-the-tables
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-21 05:57:46

也许这只是一个Python语法问题。我期望:

代码语言:javascript
复制
df = pd.read_sql_query("""SELECT Databasename, TableName FROM dbc.tables WHERE tablekind = 'T' and DatabaseName = 'SALES'""", conn)

正如您所写的,SALES在字符串之外,这无疑会导致语法错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50957634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档