Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-J1I0ox/pymssql/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-qmtdBW-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/tmp/pip-build-J1I0ox/pymssql/
Run Code Online (Sandbox Code Playgroud)
我遇到与此处显示的相同的错误.我试图遵循该网页上的说明brew install freetds之后sudo -H pip install pymssql.
这会生成此错误代码:
_mssql.c:18814:15: error: use of undeclared identifier 'DBVERSION_80'
__pyx_r = DBVERSION_80;
^
4 warnings and 1 error generated.
error: command 'cc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-J1I0ox/pymssql/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-qmtdBW-record/install-record.txt --single-version-externally-managed …Run Code Online (Sandbox Code Playgroud) 我用谷歌搜索了一下,但也许我没有把正确的魔法咒语放到搜索框中.
有谁知道如何从Python中的存储过程获取输出参数?我正在使用pymssql来调用存储过程,而且我不确定返回输出参数的正确语法.我不认为我可以使用任何其他数据库模块,因为我从Linux机器上运行它以连接到MS服务器上的mssql数据库.
import pymssql
con = pymssql.connect(host='xxxxx',user='xxxx',password='xxxxx',database='xxxxx')
cur = con.cursor()
query = "EXECUTE blah blah blah"
cur.execute(query)
con.commit()
con.close()
Run Code Online (Sandbox Code Playgroud) 当我尝试通过python中的Pymssql连接到Azure数据库时,我面临以下错误:
pymssql.OperationalError: (20002, 'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (iprice-bi.database.windows.net:1433)\n')
Run Code Online (Sandbox Code Playgroud)
我通过tsql命令连接到数据库:
tsql -H server -p 1433 -U username -P password
locale is "en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)
locale charset是"UTF-8",使用默认字符集"UTF-8"1> SELECT @@ version 2> GO
Microsoft SQL Azure (RTM) - 12.0.2000.8
Mar 1 2016 22:36:40
Copyright (c) Microsoft Corporation
(1 row affected)
Run Code Online (Sandbox Code Playgroud)
我检查了freetds.conf以确保我使用的是正确的版本.
[global]
# TDS protocol version
tds version = 7.0
dump file = /tmp/freetds.log
dump file append = yes
Run Code Online (Sandbox Code Playgroud)
日志文件的结果也没有给出任何线索.
log.c:167:Starting log file for FreeTDS 0.95.87
on 2016-03-25 16:50:51 with …Run Code Online (Sandbox Code Playgroud) 我试图使用freetds的二进制文件从安装位置,在Windows上,但我无法弄清楚如何安装二进制文件; 谷歌搜索没有任何相关性.我正在安装,以便可以导入和使用Python模块Pymssql.
我收到与此帖相同的错误:https://github.com/pymssql/pymssql/issues/372
我有一个脚本,该脚本从MSSQL数据库获取表,然后在ArcGIS中注册该表。它还使用其他几种arcpy方法。我试图将其与Flask结合使用,并开发了一个HTML界面,您可以在其中指定表。该脚本可以很好地在控制台上运行,但是,当在http://127.0.0.1:5000/上与Flask一起运行时,arcpy函数无法运行,则该应用程序将引发错误。
我正在使用本地python目录,因此在flask上导入arcpy时没有任何问题。因此,我能够使用pymssql函数并创建一个新表,但是当涉及到arcpy函数时,它不会引发错误,但是该表存在。我感觉用Flask运行arcpy有点问题,但是任何帮助将不胜感激。
(2)我在Django中尝试了相同的操作,但是遇到了相同的问题。
谢谢
class createGISLayer(FlaskForm):
tCreateLayer = SubmitField('Create GIS Layer')
Run Code Online (Sandbox Code Playgroud)
try:
cursor.execute(QueryCreate)
print ("Table Created.")
print(self.dbTablePath)
descTable = arcpy.Describe(self.dbTablePath)
except arcpy.ExecuteError:
print(arcpy.GetMessages())
Run Code Online (Sandbox Code Playgroud)
if formCreate.tCreateLayer.data and formCreate.validate_on_submit():
if myLayer is not None:
try:
print("Create GIS Layer")
myLayer.dashboardMain()
flash('GIS Layer created!', 'success')
except Exception as e:
print(e.message)
flash(e.message, 'danger')
Run Code Online (Sandbox Code Playgroud)
<!-- Create GIS Layer -->
<div class="content-section">
<form name='idCreateGISLayer' action="" method="POST">
<table style="height: auto; margin-left: auto; margin-right: auto; width: 600px;">
<tbody>
<tr>
{{ formCreate.hidden_tag() }}
<td …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 pyodbc 连接到 Microsoft sql server 数据库。我不断收到错误消息
错误:('01000',“[01000] [unixODBC][驱动程序管理器]无法打开 lib 'ODBC Driver 17 for SQL Server':找不到文件 (0) (SQLDriverConnect)”)
检查pyodbc.drivers()没有结果
我按照此处提供的说明安装了 Microsoft ODBC 驱动程序:
我跑了odbcinst -j,结果是
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /Users/pawannandakishore/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Run Code Online (Sandbox Code Playgroud)
但当我到达时/etc,我找不到odbcinst.inior odbc.ini。他们似乎在opt/homebrew/Cellar/
我真的很感激对此的一些帮助。
我正在尝试使用pymssql(带有Python 2.7.1的版本2.0.0b1-dev-20111019)从Windows框连接到SQL Server实例.我从控制台尝试了最基本的方法:
import pymssql
c = pymssql.connect(host = r'servername\instance',
user = 'username',
password = 'userpassword')
Run Code Online (Sandbox Code Playgroud)
为此,我得到了非常有用的错误: InterfaceError: Connection to the database failed for an unknown reason.
我有理由相信连接信息是正确的,因为当我使用adodbapi时,它可以使用以下命令:
import adodbapi
c = adodbapi.connect(r'Provider=sqloledb;Data Source=servername\instance;User ID=username;password=userpassword;'
c.close
Run Code Online (Sandbox Code Playgroud)
我尝试将端口号添加到host参数,结果相同.有没有人建议如何解决这个问题?
顺便说一句,我已阅读" 无法通过pymssql连接到SQL Server "的响应.OP最终通过正确配置FreeTDS解决了他的问题,据我所知,在Windows上pymssql没有使用它.
根据@ cha0site的建议,我尝试仅使用主机名,而不是主机名和实例.这导致了相同的错误,但似乎需要更长的时间来生成错误(尽管回溯仍然指示相同的行).我一直在指定实例的原因是我无法使用SSMS进行连接,除非我指定了实例,因此我认为它对于其他连接是必要的.
我现在也试过pymssql.connect(host='servername', user='username', password='userpassword', database='instance')相同的结果(基于@Sid的评论).基于pymssql文档,我相信该database参数用于指定用户要连接的初始数据库,而不是实例.
只是为了澄清,"实例"是安装SQL Server时提供的名称,而不是该安装中的数据库.我发现pymssql可能不支持这种表示法,因此我将研究重新配置SQL Server实例,以便它不是必需的.
我现在重新安装SQL Server作为默认实例,而不是命名实例,它允许我连接而不指定实例名称.adodbapi仍然有效(没有/instance),但pymssql仍然返回相同的错误.我还pymssql从新下载的存档(仍然是相同的版本)中删除并重新安装.
有没有办法使用Windows身份验证连接到MS SQL Server ,即使没有在Windows框上运行python应用程序?
我试图用pymssql做这个,但是这些例子似乎主要假设你在windows上运行.
如果有一种方法可以使用其他库来建立这种连接,请随时提出建议,但我确实喜欢pymssql如何通过pip安装和部署.
我想连接到2005/2008数据库,我正在运行Ubuntu 13.04(但如果有所不同,我可以升级到更高版本的Ubuntu)
解:
事实证明,pymssql可以通过我的Windows用户名和密码连接到我的数据库.但要这样做,我需要传递实际的用户名/密码,如下所示:
pymssql.connect(host, 'THEDOMAIN\\theusername', 'thepassword', db)
Run Code Online (Sandbox Code Playgroud)
EkoostikMartin提供的解决方案仍然很好(如果你不想在某个地方存储密码,这可能是windows auth的意思)
我正在尝试使用pymssql在python中执行一个sql文件,这个文件包含一个BEGIN TRANSACTION,一个COMMIT TRANSACTION和一个END,以及之前和之后的一些安全网.
我正在尝试在内存中打开文件并执行内容:
file = open(options.sqlFile, 'r')
sqlFileContents = file.read()
file.close()
cursor.execute(sqlFileContents)
conn.commit()
Run Code Online (Sandbox Code Playgroud)
但是它给我带来了错误:
pymssql.ProgrammingError: (102, "Incorrect syntax near 'GO'.DB-Lib error message 102, severity 15:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 102, severity 15:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 102, severity 1
5:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 102, severity 15:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message …Run Code Online (Sandbox Code Playgroud) 我在PyCharm中使用64位窗口,Python 2.7.轮子不会安装,但我终于通过解压缩zip(以及我在这里找到的说明:如何在带有python 2.7的Windows上安装pymssql)安装pymssql并将文件移动到site-packages文件夹中.然后做"pip install --upgrade pymssql"
但是,当我进入我的python并尝试做import pymssql它不被识别.我以前用pip安装了东西,并没有那么多麻烦.是因为我将文件手动移动到文件夹吗?所以错过了某个地方的一步?
请帮忙.我认为pymssql安装好了,但是PyCharm不会导入.有没有办法检查安装是否可以?