SQL Server 데이터베이스에서 웹 서비스에 대한 인증에 사용되는 JWT 토큰을 저장하고 있습니다. 토큰을 nvarchar (max) 유형으로 보유하는 열을 선언하고 간단한 문자열로 데이터베이스에 전달했습니다. 토큰을 삽입하면 SQL Server가 b '...'를 추가합니다. 예를 들어 토큰 ABC123을 추가 한 다음 b'ABC123 '을 저장한다고 가정 해보십시오.SQL Server가 저장하는 jwt 토큰에 b ...를 추가합니다.
이것은 데이터베이스에 저장된 토큰을 API를 통해 전달되는 토큰과 비교할 때 줄 바꿈 문제를 일으키고 있습니다. 추가 문자로 인해 비교가 실패합니다 (데이터베이스에 글자 그대로 소문자 b가 추가 된 것 같습니다) 저장된 문자열에 대한 두 개의 작은 따옴표).
데이터베이스에서 가져온 문자열을 b에서 떼어 내고 따옴표를 붙일 수는 있지만 SQL Server가이 작업을 수행하는 이유와 그 작업을 막을 수있는 이유를 알고 싶습니다.
어쨌든, 모든 통찰력을 많이 주시면 감사하겠습니다.
편집 : pyodbc이이를 수행 할 수 있습니까? 아마이 파이썬 3, 파이썬이 문자열 사이에 혼란
cnxn = pyodbc.connect("<connection string>")
crsr = cnxn.cursor()
crsr.execute("insert into jwt values (?,?)", [userId, str(auth_token)])
을 : 여기에 내 코드를 삽입하는 것입니다? (저는 파이썬 3.6을 사용하고 있습니다.)이 경우, 어떻게 수정합니까?
SQL Server에서는이 작업을 수행하지 않습니다. 삽입하는 데 사용중인 코드를 표시하십시오. –
나는 그렇게 생각하지 않는다, 나는 그것을 삽입했다고 생각한다. 나는 당신이 당신의 코드를 검토 할 것을 제안한다. – Sami