我正在尝试使用pip在ubuntu 12.04上安装pymssql.这是我得到的错误.任何帮助都会非常感激,因为我完全失去了!
尝试使用Google搜索,但遗憾的是无济于事......
Downloading pymssql-2.0.0b1-dev-20130403.tar.gz (2.8Mb): 2.8Mb downloaded
Running setup.py egg_info for package pymssql
warning: no files found matching '*.pyx' under directory 'Cython/Debugger/Tests'
warning: no files found matching '*.pxd' under directory 'Cython/Debugger/Tests'
warning: no files found matching '*.h' under directory 'Cython/Debugger/Tests'
warning: no files found matching '*.pxd' under directory 'Cython/Utility'
Compiling module Cython.Plex.Scanners ...
Compiling module Cython.Plex.Actions ...
Compiling module Cython.Compiler.Lexicon ...
Compiling module Cython.Compiler.Scanning ...
Compiling module Cython.Compiler.Parsing ...
Compiling module Cython.Compiler.Visitor ...
Compiling module Cython.Compiler.FlowControl ...
Compiling module …Run Code Online (Sandbox Code Playgroud) 是否有可用于连接MSSQL和python 2.7的模块?
我下载了pymssql,但它适用于python 2.6.是否有任何等效的python 2.7模块?
如果有人可以提供链接,我不知道.
重要提示:在此期间,有一个pymssql模块可用.不要错过阅读本页末尾的答案:https://stackoverflow.com/a/25749269/362951
我使用Mac(OS X 10.11.5).我想pymssql为python 安装模块.在Terminal.app我输入sudo -H pip install pymssql,pip install pymssql,sudo pip install pymssql.但是错误发生了.
目录
/Users/janghyunsoo/Library/Caches/pip/http或其父目录不归当前用户所有,并且已禁用缓存.请检查该目录的权限和所有者.如果执行pip有sudo,你可能想sudo的-H标志.目录
/Users/janghyunsoo/Library/Caches/pip或其父目录不归当前用户所有,并且已禁用缓存轮.检查该目录的权限和所有者.如果执行pip有sudo,你可能想sudo的-H标志.
Collecting pymssql
Downloading pymssql-2.1.2.tar.gz (898kB)
100% |????????????????????????????????| 901kB 955kB/s
Installing collected packages: pymssql
Running setup.py install for pymssql ... error
Complete output from command /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-KA5ksi/pymssql/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" …Run Code Online (Sandbox Code Playgroud) 我不知道为什么我收到此错误,无法找到任何解决方案.我可以使用freetds tsql连接到SQL Server数据库,但在连接时我一直收到错误pymssql.connect.
具体错误是:
pymssql.OperationalError:(18456,"登录失败,用户'xxx'.DB-Lib错误消息18456,严重级14:\n一般SQL Server错误:检查来自SQL Server \nDB-Lib错误消息20002的消息,严重性9:\nAdaptive Server连接失败\n")
我将freetds的配置设置为:
[custom_config]
host = myhost
port = 1433
tds version = 7.0
encryption = request
dump file = /tmp/freetds.log
Run Code Online (Sandbox Code Playgroud)
运行:
tsql -S custom_config -U tsmv -P xxx
Run Code Online (Sandbox Code Playgroud)
收益:
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1>
Run Code Online (Sandbox Code Playgroud)
这允许我查询数据库.
但是,运行:
python
>> import pymssql
>> pymssql.connect(server='custom_config', user='user', password='xxx', database='database')
Run Code Online (Sandbox Code Playgroud)
提出上述错误.
我使用的是Linux CentOS,python 2.6.6,freetds 0.92 dev(我尝试过用tdsver = 7.0编译的其他版本).
freetds日志是:
log.c:196:Starting log file for FreeTDS 0.92
on 2012-04-12 10:39:15 …Run Code Online (Sandbox Code Playgroud) 我使用的是python 2.7和pymssql 1.9.908.
在.net中查询数据库我会做这样的事情:
using (SqlCommand com = new SqlCommand("select * from Customer where CustomerId = @CustomerId", connection))
{
com.Parameters.AddWithValue("@CustomerID", CustomerID);
//Do something with the command
}
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚python的等价物是什么,尤其是pymssql.我意识到我可以只进行字符串格式化,但是这似乎没有像参数一样正确地进行转义(我可能错了).
我怎么在python中这样做?
pymssql模块用于支持Windows身份验证.现在看来它没有.虽然在某些地方它仍然表明它应该工作.我一直无法找到这个问题的明确答案,也无法找到解决方案.最相关的链接:
https://groups.google.com/forum/#!topic/pymssql/QDMLTGBNeU0
pymssql 1.0支持它,因为它使用并依赖于MS提供的DLL,它是SQL Server客户端堆栈的一部分.该堆栈负责处理所有NTLM协商等.这意味着它是一个仅限Windows的解决方案.
我可以模拟许多种网络环境,所以我尝试了很多不同的设置.我试图能够使用此脚本使用Windows身份验证连接到远程MSSQL服务器.这就是问题所在.
根据我的研究,包括上面的链接,也有使用Windows身份验证与被该pymssql模块两种方式应该工作.
第一种方法:使用当前用户凭据:
pymssql.connect(server='server')
# credentials come from active windows session
# some research shows that a "trusted=True" keyword should be provided.
Run Code Online (Sandbox Code Playgroud)
第二种方法:使用给定的用户凭据:
pymssql.connect(server='server', user=r'domain\user', password='pass')
# credentials are given in code and somehow converted to a
# windows authentication in the background
# some research shows that a "trusted=True" keyword should be provided.
Run Code Online (Sandbox Code Playgroud)
使用该_mssql模块也是如此.
笔记:
关于该主题的其他问题: …
我试图通过pymssql从本地服务器上的*nix系统连接到运行在Windows XP系统上的SQL Server.但是,连接失败,如下所示
db = pymssql.connect(host='192.168.1.102',user='www',password='test',database='TestDB')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pymssql.pyx", line 457, in pymssql.connect (pymssql.c:6041)
raise InterfaceError(e[0])
pymssql.InterfaceError: Connection to the database failed for an unknown reason.
Run Code Online (Sandbox Code Playgroud)
我试过的事情:
我错过了某些东西 - 我只是不知道它是什么.我在Windows上尝试了所有无限的菜单选项都无济于事.我注意到的一件事是,如果打开了Windows防火墙(我为SQL Server设置了一个例外),python会暂停很长时间然后给出错误.如果防火墙关闭,则错误是即时的.
我可以在SQL Server中看到任何日志吗?
似乎还没有这样的二进制文件.googlecode上存在一个问题:http: //code.google.com/p/pymssql/issues/detail? id = 12但我无法弄清楚如何处理这些文件.
我是python的新手.我正在尝试查询MSSQL数据库.
import pymssql
conn = pymssql.connect(host='hostname', user='username', password='password', database='dbname')
cursor = conn.cursor()
sql = "select count(*) from T_Email with (nolock) where Transmit is null"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
print (row)
Run Code Online (Sandbox Code Playgroud)
成功运行的查询是Microsoft SQL Server Management Studio,但我的python脚本始终不返回任何内容.
我确认我有网络连接.我验证了用户名,密码和数据库名称.如果我更改密码,那么脚本将出错.
我已经尝试过results = cursor.fetchone(),但这没有帮助.
有什么建议?
我正在尝试在 Windows 上从 pip 安装 pymssql。问题是,我不断收到以下错误:
ERROR: Failed building wheel for pymssql
Failed to build pymssql
ERROR: Could not build wheels for pymssql which use PEP 517 and cannot be installed directly
Run Code Online (Sandbox Code Playgroud)
完整日志如下:
Building wheels for collected packages: pymssql
Building wheel for pymssql (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\administrator\appdata\local\programs\python\python39\python.exe' 'c:\users\administrator\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\ADMINI~1\AppData\Local\Temp\tmpvh65n1en'
cwd: C:\Users\Administrator\AppData\Local\Temp\pip-install-skfrg8ce\pymssql_3826b234076b47ab9618e9d73ff9698b
Complete output (16 lines):
setup.py: platform.system() => 'Windows'
setup.py: platform.architecture() => ('64bit', 'WindowsPE')
running bdist_wheel
running build
running …Run Code Online (Sandbox Code Playgroud) pymssql ×10
python ×9
sql-server ×3
pip ×2
python-2.7 ×2
freetds ×1
installation ×1
macos ×1
sql ×1
t-sql ×1
ubuntu ×1
ubuntu-12.04 ×1