我正在尝试编写一个小脚本,该脚本将数据从sql服务器数据库迁移到postgresql数据库。
我使用 pyodbc 连接到 sql 服务器,到目前为止做了一些测试查询。 现在为了更好的结构,我决定为每个数据库类型创建一个类,例如PGManger和MSSQLManager。
从它各自的类调用相同的查询而不是直接执行它会产生一个值为"none"的额外行,我无法弄清楚这是从哪里来的。
该类的代码如下所示:
import pyodbc
class MSSQLManger:
def __init__(self, connString):
self.conn = pyodbc.connect(connString)
self.cursor = self.conn.cursor()
def getTableNames(self):
cursor = self.cursor.execute("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'a%'
AND TABLE_TYPE = 'BASE TABLE';")
rows = cursor.fetchall()
for row in rows:
print(row)
"主"脚本中的代码:
from mssql import MSSQLManger
msql = MSSQLManger(conn_string)
print(msql.getTableNames())
结果是 :
('tab_name1', )
('tab_name2', )
...
('tab_nameX', )
None
现在,如果摆脱整个阶级的东西,"无"就消失了,问题主义者,它从哪里开始?
只是不要打印它:
msql.getTableNames()