-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
embedded null byte when connecting to sqlite database using a bytes object #84335
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hello. I think that I found a bug in how sqlite3 module handle bytes. The connect function of sqlite3 accepts strings, FilePath objects and bytes. However, it's impossible for me to connect to bytes objects that are read from BufferedReaders. I always get: "ValueError: embedded null byte" This is my current code (byteDec is the BytesIO object): ============================================== byteDec.seek(0)
conn = sqlite3.connect(byteDec.read()) ============================================== That returns the "embedded null byte" error. However, if I do: ============================================== byteDec.seek(0)
with open("db.db", "wb" as f:
f.write(byteDec.read())
conn = sqlite3.connect("db.db") ============================================== Everything works flawlessly, so the BufferedReader that I have in-memory is not corrupted in any way, as it's readable from a file. I want to avoid writing to disk at all, so this is not a solution for me. I attach to this issue a very basic proof of concept to understand the issue. I'm running Pyhton 3.8.2 amd64 on Windows 10 1909 |
bump? |
Hi Fernando, the first parameter of the connect function is described in documentation as follows:
So, while it can be a bytes object, it's still would be a bytes object representing a file-path. It's not bytes object representing a file content of the database. Hope that helps. |
Hello SilentGhost, Okay, now I understand the difference and had my code working! Thank you very much for your answer and to all of you who help in making Python better. (Wish I had more knowledge of it to help) Have a nice day! |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: