GO是SQL Server ManagementStudio中的批处理终止符。在中没有任何意义
pyodbc。而是从脚本中发出单独的命令。
更新的代码:
import pyodbc, osdef create_db(folder, db_name): unc = r'\arcsqlSDE{0}'.format(folder) if not os.path.exists(unc): os.makedirs(unc) full_name = os.path.join(r'E:SDE', folder, db_name) conn = pyodbc.connect("driver={SQL Server}; server=ArcSQL; database=master; Trusted_Connection=yes", automcommit=True) cursor = conn.cursor() sqlcommand = """CREATE DATAbase [{0}] ON PRIMARY( NAME = N'{0}', FILENAME = N'{1}.mdf', SIZE = 4MB , MAXSIZE = 10MB, FILEGROWTH = 1MB )LOG ON( NAME = N'{0}_log', FILENAME = N'{1}_log.ldf', SIZE = 4MB , MAXSIZE = 10MB, FILEGROWTH = 10%)""".format(db_name, full_name) print sqlcommand cursor.execute(sqlcommand) print 'Created "{0}"'.format(db_name) # Do stuff in the new database conn = pyodbc.connect("driver={SQL Server}; server=ArcSQL; database={0}; Trusted_Connection=yes".format(db_name), automcommit=True)if __name__ == '__main__': #test create_db('_test', 'py_db_test')


