我正在尝试建立与mssql db的连接,并使用pydal的DAL创建一个表,我的连接字符串,其余为:
db = DAL("mssql://myuser:mypassword@myserver.database.windows.net/mydb")
db.define_table(
"post",
Field("title", type="string", length=256),
Field("content", type="text"),
Field("image", type="upload"),
Field("comments", type="list:string")
)
db.post.insert(title="Juan", content="this is context")
我收到此错误消息:
<clase 'pyodbc.Error'> ('01000', "[01000] [unixODBC] [Driver Manager] No se puede abrir lib 'SQL Server': archivo no encontrado (0) (SQLDriverConnect)")
我也得到这个:
self.dsn 'SERVIDOR = myserver.database.windows.net; PORT = 143 ... ID = myuser; PWD = mypassword; DRIVER = {SQL Server}'
这使我认为您正在调用的驱动程序不是所指示的驱动程序,您使用的是DRIVER = {SQL Server}
',应该是{ODBC Driver 17 for SQL Server}
,但我不知道如何更改驱动程序在请求中。
我尝试使用pyodbc进行连接,并且效果很好:
import pyodbc
server = 'tcp:myserver.database.windows.net'
database = 'mydatabase'
username = 'myuser'
password = 'mypassword'
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
请您帮我解决这个问题。预先感谢。