我想知道是否可以在mongo shell中配置制表符完成的行为?我见过的两个行为是:
我个人更喜欢第一种选择.我已经在不同的环境中看到了这两种行为(都是mongo版本2及以上版本),并且无法弄清楚它是可配置的还是由环境引起的.
我的机器上有一个名为"Test"的本地数据库,其中包含一个名为"Tags"的表.我能够通过SQL Server管理工作室2008从该表访问此数据库和查询.
但是,当使用pyodbc时,我一直遇到问题.
使用这个:
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost:1433;DATABASE=Test')
Run Code Online (Sandbox Code Playgroud)
产生错误:
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]Invalid connection. (14) (SQLDriverConnectW); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Invalid Instance()). (14)')
Run Code Online (Sandbox Code Playgroud)
(有或没有指定端口)
尝试替代连接字符串:
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost\Test,1433')
Run Code Online (Sandbox Code Playgroud)
没有产生错误,但是:
cur = conn.cursor()
cur.execute("SELECT * FROM Tags")
Run Code Online (Sandbox Code Playgroud)
产生错误:
pyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'Tags'. (208) (SQLExecDirectW)")
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
我有两个python模块:
//// funcs.py
from classes import *
def func():
d = D()
print "func"
if __name__ == "__main__":
c = C()
Run Code Online (Sandbox Code Playgroud)
//// classes.py
from funcs import *
class C:
def __init__(self):
print "C class"
func()
class D:
def __init__(self):
print "D class"
Run Code Online (Sandbox Code Playgroud)
运行funcs.py会产生一个NameError,表示"未定义全局名称'D'".但是,如果我注释掉D()实例的创建,一切正常.
为什么会这样?
谢谢