3

How can I open an Microsoft SQL Server MDF file in Python?

Edit

I've tried pyodbc.connect but that requires a legitimate "server connection"—you can't simply open the MDF file—

pyodbc.connect(driver='{SQL Server}', dbq=r'c:\database.mdf')

(Like you'd do for MDB files.)

pyodbc.Error: Neither DSN or SERVER keyword supplied

Okay—

pyodbc.connect(driver='{SQL Server}', dsn=r'c:\database.mdf')

pyodbc.Error: Data source name not found

All I want to do is list its schema and then it.

Gord Thompson
  • 116,920
  • 32
  • 215
  • 418
user1458476
  • 143
  • 2
  • 8
  • 5
    Nope, SO doesn't like brevity because that usually indicates a lower quality question. Your question could probably do with a bit more content too; like, what have you tried so far? What do you want to achieve from opening the MDF file? – Martijn Pieters Jul 02 '12 at 17:05
  • I've edited the question accordingly – user1458476 Jul 02 '12 at 17:36
  • Possible duplicate of [How to open a SQL .mdf file saved onto my desktop with pandas](https://stackoverflow.com/questions/53307559/how-to-open-a-sql-mdf-file-saved-onto-my-desktop-with-pandas) – Gord Thompson Nov 15 '18 at 15:54

1 Answers1

2

The fact that you're using Python isn't relevant here: an .mdf file is a binary database file that can only be accessed by attaching it to SQL Server and querying the database through the server instance. It's not clear why this is an issue for you, because pyodbc will work fine with SQL Server (on Windows, at least) so if this doesn't answer your question you may want to expand on what you're trying to do and why you can't just connect to SQL Server.

And mentioning your OS, Python version, SQL Server version etc. is usually helpful.

Pondlife
  • 15,992
  • 6
  • 37
  • 51