【发布时间】:2017-12-19 17:12:35
【问题描述】:
我正在使用 python 2.7 有下面的代码来连接 sql 实例
class SqlConnector:
def __init__(self, driver, sqlserver_ip, database, **kwargs):
if 'port' in kwargs:
conn_string = 'DRIVER='+ driver + ';SERVER='+ sqlserver_ip +';PORT=' + kwargs['port'] + ';DATABASE=' + database + ';trusted_connection=yes;'
else:
conn_string = 'DRIVER='+ driver + ';SERVER='+ sqlserver_ip + ';DATABASE=' + database + ';trusted_connection=yes;'
print conn_string
self.conn = pypyodbc.connect(conn_string)
self.cur = self.conn.cursor()
def __enter__(self):
return self
def query(self, query_string):
self.cur.execute(query_string)
return
def get_all_table_columns(self):
columns = [column[0] for column in self.cur.description]
return columns
def get_all_table_rows(self):
rows = self.cur.fetchall()
return rows
def __repr__(self):
conn_string = 'DRIVER='+ driver + ';SERVER='+ sqlserver_ip + ';DATABASE=' + database + ';trusted_connection=yes;'
return conn_string
def __exit__(self, exc_type, exc_val, exc_tb):
if self.conn or self.cur:
# close cursor
self.cur.close()
# close connection
self.conn.close()
我的 SQL 实例类似于“主机名\PEWKA”,但下面说错误
(u'08001', u'[08001] [Microsoft][SQL Server Native Client 11.0]SQL 服务器网络接口:查找指定的服务器/实例时出错 [xFFFFFFFF]。 ')
这是使用 pypyodbc 连接 SQL 实例的正确方法吗?实在找不到太多信息了。
任何人都可以提供一些启发将不胜感激。
谢谢
【问题讨论】:
标签: python sql-server pypyodbc