2013-07-30 49 views
4

是否可以連接到MSSQL服務器,使用sqlalchemy然後創建一個數據庫?sqlalchemy連接服務器,沒有指定數據庫

我使用以下命令:

sqlalchemy.create_engine("mssql+pyodbc://sa:[email protected]/")

但我得到一個錯誤:

Detail DBAPIError: (Error) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') None None

我想連接到服務器,然後創建數據庫,並使用它。

回答

8

試試看:代碼

import urllib 

connection_string = "DRIVER={SQL Server};SERVER=localhost;UID=sa;PWD=pwd" 
connection_string = urllib.quote_plus(connection_string) 
connection_string = "mssql+pyodbc:///?odbc_connect=%s" % connection_string 

engine = sqlalchemy.create_engine(connection_string) 
connection = engine.connect() 
connection.execute("create database test") 
connection.close() 

一部分是從這個answer拍攝。

希望有所幫助。

+0

它沒有連接到服務器,我已經寫了,很抱歉,也許我沒有正確描述我的問題。我犯了同樣的錯誤。 – Eugene

+0

如何使用這個連接字符串'mssql + pyodbc:///?odbc_connect = DRIVER%3D {SQL Server}%3BSERVER%3Dlocalhost%3BUID%3Dsa%3BPWD%3Dpwd'? – alecxe

+0

這個想法是讓'pyodbc'連接字符串沒有'Database'設置,看一看:http://docs.sqlalchemy.org/en/latest/dialects/mssql.html#additional-connection-examples – alecxe