Reading sqlalchemy error returns invalid name because it contains a NULL character or an invalid unicode character



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








1















I'm using sqlalchemy to read a query. My code is the next:



def conection(file_name, server, database, uid, pwd):
cnxn = create_engine("mssql+pyodbc:///?odbc_connect=".format(urllib.parse.quote_plus("DRIVER=SQL SERVER;
SERVER=0;PORT=1433;DATABASE=1;UID=2;PWD=3;TDS_Version=8.0;".format(server, database, uid, pwd))))
pd.read_sql(query, cnxn, chunksize=100)

parser = argparse.ArgumentParser(description='Connect to the ODBC and extract the tables')
parser.add_argument('-table', type=str)
args = parser.parse_args()

sql_path = os.path.join('..', 'SQL')
filename_base = args.table
sql_filename = os.path.join(sql_path, filename_base)

with open(os.path.join('..', '..', '..', 'configuration', 'connnection.json')) as f:
data = json.load(f)

query = obtain_query(sql_filename)
cnxn = conection(filename_base,
data[filename_base]['server'],
data[filename_base]['database'],
data[filename_base]['uid'],
data[filename_base]['pwd'])


However I receive the following error:



sqlalchemy.exc.ProgrammingError: (pyodbc.ProgrammingError) ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'L'. (102) (SQLExecDirectW); [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]'.C.u.s.t.o.m.e.r.C.o.d.e.' is an invalid name because it contains a NULL character or an invalid unicode character. (1055)")


Here is an example of my table:



enter image description here



As you can see, I don't have null values or invalid characters since it's just numbers as text. I already checked and there is no null values or unicode characters.



The query I'm using is just a basic select:



SELECT
[Customer]
,[Account]
,[Country]
,[Metric1]
,[Metric2]
,[Metric3]
,[Metric4]
FROM
[Table1]









share|improve this question
























  • Can you show us the query you use?

    – Owen
    Nov 15 '18 at 16:38











  • @Owen I just added it to the description.

    – Daniel Zapata
    Nov 15 '18 at 16:47






  • 1





    OK, can you show the code you use to execute that query? I'm asking because the error is in the query itself. It looks like a column name is malformed (or possibly the table name).

    – Owen
    Nov 15 '18 at 16:50












  • @Owen Sure! I just updated the description with it

    – Daniel Zapata
    Nov 15 '18 at 17:18






  • 1





    The error is showing something that called CustomerCode (a column, perhaps) is being sent as C.u.s.t.o.m.e.r.C.o.d.e Print your query and have a look at it.

    – Owen
    Nov 15 '18 at 17:23

















1















I'm using sqlalchemy to read a query. My code is the next:



def conection(file_name, server, database, uid, pwd):
cnxn = create_engine("mssql+pyodbc:///?odbc_connect=".format(urllib.parse.quote_plus("DRIVER=SQL SERVER;
SERVER=0;PORT=1433;DATABASE=1;UID=2;PWD=3;TDS_Version=8.0;".format(server, database, uid, pwd))))
pd.read_sql(query, cnxn, chunksize=100)

parser = argparse.ArgumentParser(description='Connect to the ODBC and extract the tables')
parser.add_argument('-table', type=str)
args = parser.parse_args()

sql_path = os.path.join('..', 'SQL')
filename_base = args.table
sql_filename = os.path.join(sql_path, filename_base)

with open(os.path.join('..', '..', '..', 'configuration', 'connnection.json')) as f:
data = json.load(f)

query = obtain_query(sql_filename)
cnxn = conection(filename_base,
data[filename_base]['server'],
data[filename_base]['database'],
data[filename_base]['uid'],
data[filename_base]['pwd'])


However I receive the following error:



sqlalchemy.exc.ProgrammingError: (pyodbc.ProgrammingError) ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'L'. (102) (SQLExecDirectW); [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]'.C.u.s.t.o.m.e.r.C.o.d.e.' is an invalid name because it contains a NULL character or an invalid unicode character. (1055)")


Here is an example of my table:



enter image description here



As you can see, I don't have null values or invalid characters since it's just numbers as text. I already checked and there is no null values or unicode characters.



The query I'm using is just a basic select:



SELECT
[Customer]
,[Account]
,[Country]
,[Metric1]
,[Metric2]
,[Metric3]
,[Metric4]
FROM
[Table1]









share|improve this question
























  • Can you show us the query you use?

    – Owen
    Nov 15 '18 at 16:38











  • @Owen I just added it to the description.

    – Daniel Zapata
    Nov 15 '18 at 16:47






  • 1





    OK, can you show the code you use to execute that query? I'm asking because the error is in the query itself. It looks like a column name is malformed (or possibly the table name).

    – Owen
    Nov 15 '18 at 16:50












  • @Owen Sure! I just updated the description with it

    – Daniel Zapata
    Nov 15 '18 at 17:18






  • 1





    The error is showing something that called CustomerCode (a column, perhaps) is being sent as C.u.s.t.o.m.e.r.C.o.d.e Print your query and have a look at it.

    – Owen
    Nov 15 '18 at 17:23













1












1








1








I'm using sqlalchemy to read a query. My code is the next:



def conection(file_name, server, database, uid, pwd):
cnxn = create_engine("mssql+pyodbc:///?odbc_connect=".format(urllib.parse.quote_plus("DRIVER=SQL SERVER;
SERVER=0;PORT=1433;DATABASE=1;UID=2;PWD=3;TDS_Version=8.0;".format(server, database, uid, pwd))))
pd.read_sql(query, cnxn, chunksize=100)

parser = argparse.ArgumentParser(description='Connect to the ODBC and extract the tables')
parser.add_argument('-table', type=str)
args = parser.parse_args()

sql_path = os.path.join('..', 'SQL')
filename_base = args.table
sql_filename = os.path.join(sql_path, filename_base)

with open(os.path.join('..', '..', '..', 'configuration', 'connnection.json')) as f:
data = json.load(f)

query = obtain_query(sql_filename)
cnxn = conection(filename_base,
data[filename_base]['server'],
data[filename_base]['database'],
data[filename_base]['uid'],
data[filename_base]['pwd'])


However I receive the following error:



sqlalchemy.exc.ProgrammingError: (pyodbc.ProgrammingError) ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'L'. (102) (SQLExecDirectW); [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]'.C.u.s.t.o.m.e.r.C.o.d.e.' is an invalid name because it contains a NULL character or an invalid unicode character. (1055)")


Here is an example of my table:



enter image description here



As you can see, I don't have null values or invalid characters since it's just numbers as text. I already checked and there is no null values or unicode characters.



The query I'm using is just a basic select:



SELECT
[Customer]
,[Account]
,[Country]
,[Metric1]
,[Metric2]
,[Metric3]
,[Metric4]
FROM
[Table1]









share|improve this question
















I'm using sqlalchemy to read a query. My code is the next:



def conection(file_name, server, database, uid, pwd):
cnxn = create_engine("mssql+pyodbc:///?odbc_connect=".format(urllib.parse.quote_plus("DRIVER=SQL SERVER;
SERVER=0;PORT=1433;DATABASE=1;UID=2;PWD=3;TDS_Version=8.0;".format(server, database, uid, pwd))))
pd.read_sql(query, cnxn, chunksize=100)

parser = argparse.ArgumentParser(description='Connect to the ODBC and extract the tables')
parser.add_argument('-table', type=str)
args = parser.parse_args()

sql_path = os.path.join('..', 'SQL')
filename_base = args.table
sql_filename = os.path.join(sql_path, filename_base)

with open(os.path.join('..', '..', '..', 'configuration', 'connnection.json')) as f:
data = json.load(f)

query = obtain_query(sql_filename)
cnxn = conection(filename_base,
data[filename_base]['server'],
data[filename_base]['database'],
data[filename_base]['uid'],
data[filename_base]['pwd'])


However I receive the following error:



sqlalchemy.exc.ProgrammingError: (pyodbc.ProgrammingError) ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'L'. (102) (SQLExecDirectW); [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]'.C.u.s.t.o.m.e.r.C.o.d.e.' is an invalid name because it contains a NULL character or an invalid unicode character. (1055)")


Here is an example of my table:



enter image description here



As you can see, I don't have null values or invalid characters since it's just numbers as text. I already checked and there is no null values or unicode characters.



The query I'm using is just a basic select:



SELECT
[Customer]
,[Account]
,[Country]
,[Metric1]
,[Metric2]
,[Metric3]
,[Metric4]
FROM
[Table1]






python sql sql-server sqlalchemy






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 15 '18 at 17:17







Daniel Zapata

















asked Nov 15 '18 at 16:34









Daniel ZapataDaniel Zapata

197113




197113












  • Can you show us the query you use?

    – Owen
    Nov 15 '18 at 16:38











  • @Owen I just added it to the description.

    – Daniel Zapata
    Nov 15 '18 at 16:47






  • 1





    OK, can you show the code you use to execute that query? I'm asking because the error is in the query itself. It looks like a column name is malformed (or possibly the table name).

    – Owen
    Nov 15 '18 at 16:50












  • @Owen Sure! I just updated the description with it

    – Daniel Zapata
    Nov 15 '18 at 17:18






  • 1





    The error is showing something that called CustomerCode (a column, perhaps) is being sent as C.u.s.t.o.m.e.r.C.o.d.e Print your query and have a look at it.

    – Owen
    Nov 15 '18 at 17:23

















  • Can you show us the query you use?

    – Owen
    Nov 15 '18 at 16:38











  • @Owen I just added it to the description.

    – Daniel Zapata
    Nov 15 '18 at 16:47






  • 1





    OK, can you show the code you use to execute that query? I'm asking because the error is in the query itself. It looks like a column name is malformed (or possibly the table name).

    – Owen
    Nov 15 '18 at 16:50












  • @Owen Sure! I just updated the description with it

    – Daniel Zapata
    Nov 15 '18 at 17:18






  • 1





    The error is showing something that called CustomerCode (a column, perhaps) is being sent as C.u.s.t.o.m.e.r.C.o.d.e Print your query and have a look at it.

    – Owen
    Nov 15 '18 at 17:23
















Can you show us the query you use?

– Owen
Nov 15 '18 at 16:38





Can you show us the query you use?

– Owen
Nov 15 '18 at 16:38













@Owen I just added it to the description.

– Daniel Zapata
Nov 15 '18 at 16:47





@Owen I just added it to the description.

– Daniel Zapata
Nov 15 '18 at 16:47




1




1





OK, can you show the code you use to execute that query? I'm asking because the error is in the query itself. It looks like a column name is malformed (or possibly the table name).

– Owen
Nov 15 '18 at 16:50






OK, can you show the code you use to execute that query? I'm asking because the error is in the query itself. It looks like a column name is malformed (or possibly the table name).

– Owen
Nov 15 '18 at 16:50














@Owen Sure! I just updated the description with it

– Daniel Zapata
Nov 15 '18 at 17:18





@Owen Sure! I just updated the description with it

– Daniel Zapata
Nov 15 '18 at 17:18




1




1





The error is showing something that called CustomerCode (a column, perhaps) is being sent as C.u.s.t.o.m.e.r.C.o.d.e Print your query and have a look at it.

– Owen
Nov 15 '18 at 17:23





The error is showing something that called CustomerCode (a column, perhaps) is being sent as C.u.s.t.o.m.e.r.C.o.d.e Print your query and have a look at it.

– Owen
Nov 15 '18 at 17:23












0






active

oldest

votes












Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53323975%2freading-sqlalchemy-error-returns-invalid-name-because-it-contains-a-null-charact%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53323975%2freading-sqlalchemy-error-returns-invalid-name-because-it-contains-a-null-charact%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Darth Vader #20

How to how show current date and time by default on contact form 7 in WordPress without taking input from user in datetimepicker

Ondo