小编taf*_*afi的帖子

Mongo shell标签完成

我想知道是否可以在mongo shell中配置制表符完成的行为?我见过的两个行为是:

  1. 只要没有歧义,tab键的第一次点击就会完成,第二次点击会显示可能的选项列表.
  2. 按Tab键可根据第一个可能选项完成完整表达.

我个人更喜欢第一种选择.我已经在不同的环境中看到了这两种行为(都是mongo版本2及以上版本),并且无法弄清楚它是可配置的还是由环境引起的.

shell autocomplete tab-completion mongodb

8
推荐指数
1
解决办法
3411
查看次数

尝试连接到localhost上的数据库时出现pyodbc连接错误

我的机器上有一个名为"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 sql pyodbc

5
推荐指数
2
解决办法
1万
查看次数

Python范围/命名空间问题

我有两个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()实例的创建,一切正常.

为什么会这样?

谢谢

python scope namespaces

4
推荐指数
1
解决办法
401
查看次数