Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unicodedecoderor错误';ascii';编解码器超高';使用python查询配置单元上的数据时解码_Python_Sql_Hive_Odbc - Fatal编程技术网

Unicodedecoderor错误';ascii';编解码器超高';使用python查询配置单元上的数据时解码

Unicodedecoderor错误';ascii';编解码器超高';使用python查询配置单元上的数据时解码,python,sql,hive,odbc,Python,Sql,Hive,Odbc,我试图传递变量以查询配置单元数据库,但遇到unicodedecoderError,如下所示 >>> my_cursor.execute(my_query, var1) Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in positio

我试图传递变量以查询配置单元数据库,但遇到unicodedecoderError,如下所示

 >>> my_cursor.execute(my_query, var1)
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 70: ordinal not in range(128)
下面是我的代码

 import pyodbc
 import pandas as pd

 var1 = 'UCSB'
 my_connection = pyodbc.connect('DSN=MapR-64-Hive', autocommit=True)
 my_cursor = my_connection.cursor()
 my_query =  """
     select *  from polaris_datasets.snmaster  where parent_pid rlike ‘%s’  and created_date >=  "2017-12-01 00:00:00"
     """ 

 my_cursor.execute(my_query,  var1)
误差如下所示

 >>> my_cursor.execute(my_query, var1)
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 70: ordinal not in range(128)
>>我的游标。执行(我的查询,var1)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
UnicodeDecodeError:“ascii”编解码器无法解码位置70处的字节0xe2:序号不在范围内(128)

我不确定这是语法问题还是编码问题,所以我需要在某个地方进行更改?

在%s周围用作单引号的第二个撇号不是ASCII字符。将单引号字符替换为“”:


在%s周围用作单引号的第二个撇号不是ASCII字符。将单引号字符替换为“”:


谢谢,有了这个改变,它解决了这个错误。但我遇到了另一个问题,如下所示。>>my_cursor.execute(my_query,var1)Traceback(上次调用):pyodbc中第1行的文件“”。ProgrammingError:(“SQL包含0个参数标记,但提供了1个参数”,“HY000”)谢谢,通过此更改,它解决了Unidecode错误。但我遇到了另一个问题,如下所示。>>my_cursor.execute(my_query,var1)回溯(上次调用):pyodbc中第1行的文件“”。ProgrammingError:(“SQL包含0个参数标记,但提供了1个参数”,“HY000”)