問題タブ [pymssql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - pymssql を使用して SQL Server データベースに接続できませんが、基になる freetds tsql を使用して接続できます
このエラーが発生する理由がわかりません。解決策が見つかりません。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 の設定を次のように設定しています。
ランニング:
戻り値:
これにより、データベースにクエリを実行できます。
ただし、実行中:
上記のエラーが発生します。
Linux CentOS、python 2.6.6、freetds 0.92 dev を使用しています (tdsver=7.0 でコンパイルする他のバージョンを試しました)。
freetds ログは次のとおりです。
なぜこれが機能しないのか、私は完全に迷っています。どんな助けでも大歓迎です。
python - 卵黄またはピップを通して見たパッケージ
ピップと卵黄がどのように機能するかを理解するのに助けが必要です
pip install pymssql
pymssqlバージョンをインストールしたを実行2.0.0b1-dev-20111019
しましたが、古いバージョンに戻したいと思いました。
yolk -V pymssql
使用可能なバージョンを確認するため に実行しましたが、が返されるだけpymssql 1.0.2
です。インストールしたバージョンも表示されるべきではありませんか?
Webサイトでpypiを検索すると、1.0.2が利用可能な唯一のバージョンであることがわかります。これは、pipがpypi以外のソースを使用していることを意味しますか?
sql-server - Windows で PyMSSQL を使用して SQL Server に接続できない - 「サーバーからの予期しない EOF」
Python 2.7 の PyMSSQL バージョン pymssql-2.0.0b1.win-amd64-py2.7 を使用して、Windows 7 64 ビット OS から MS SQL 2008 Server に接続しようとしています。
しかし、サーバー、ユーザー ID、パスワード、およびデータベースの正しいログイン資格情報を入力すると、次のエラーが表示されます。
err_handler(dbproc = 025D30D8、重大度 = 9、dberr = 20017、oserr = 0、dberrstr = 'サーバーからの予期しない EOF'
Linux マシンに FreeTDS を使用し、TDS バージョンが正しく設定されていないため、この問題が発生している他のユーザーを見てきました。ただし、私は Windows OS を使用しているため、FreeTDS を使用したり、TDS のバージョンを指定したりする必要はないというのが私の印象でした。これは本当ですか?どこかで TDS バージョンを指定する必要がありますか?
アドバイスやお手伝いできることがあればお願いします。ありがとう。
python - Python (pymssql) で型チェックを行わずにキーをスキップする
dict
次のようなa のすべての非整数キーにアクセスする必要があります。
私は現在これを行っています:
私の質問:
- タイプチェックなしでこれを行う方法はありますか?
- これは、属性を使用し
tmp_dict
たクエリから出てきたもので、何らかの理由でデータを含むすべての列名を期待どおりに返しますが、整数でインデックス付けされた同じデータも含まれています。列の値とデータのみを含む辞書としてクエリ結果を取得するにはどうすればよいですか?pymssql
as_dict=True
ご協力いただきありがとうございます!
PS - 2に答える可能性があることで問題が解決されたにもかかわらず、型チェックなしでこれを行う方法に興味があります。主に、「型チェックは絶対にしない」と言う人向けです。
python - Python with MS SQL - 切り捨てられた出力
Linux ボックス( Python 2.7、Ubuntu 11.04 )から Python を使用して MSSQL DB に接続しようとしています。受け取る出力が 500 文字に切り捨てられます。以下のスクリプトと構成を参照してください。どうすれば解決できますか?問題は、ODBC ドライバーまたはその付近にあると思われます。
コード (pyodbc、pymssql):
MS SQL DB への書き込みアクセス権がありません。実際には、システムに属していないリモート サーバーです。
SQL:
問題はShReq.ALM_SharedText
フィールドです。convert(text,ShReq.ALM_SharedText) AS TEXT
255 文字に切り捨てられますが、次のような変換を使用して、CAST(ShReq.ALM_SharedText AS TEXT)
切り捨てを 500 文字に増やします。ただし、テキストが 500 文字を超えるフィールドがあり、それらは切り捨てられます。
ODBC 設定:
/etc/odbc.ini
:
/etc/odbcinst.ini
:
/etc/freetds/freetds.conf
:
どうすれば解決できるのでしょうか?
python - pymssql callproc unicode - エラーを返します
callproc 経由で "sp_executesql" を呼び出す際に助けが必要です (RPC として必要です)。これは私のコードです:
次のエラーが表示されます。
他のストアド プロシージャの実行はスムーズに進みます。文字列をユニコード (u'Select...') として実行すると、次のエラーが発生します。
これを克服する方法を知っていますか?
SQL Server は Microsoft SQL Server 2012 - 11.0.2100.60 (X64) 2012 年 2 月 10 日 19:39:15 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1) (Hypervisor)
どうもありがとう
sql - 独自の pymssql ロールバックからの SQL のトランザクション
freetds を使用する pymssql を使用して SQL Server に接続する開発者がいます。彼のスクリプトは、MySQL DB の値に基づいて SQL 挿入クエリを動的に生成します。
ステートメントは適切に解析され、SQL プロファイラーで表示すると、適切な開始トランザクション/コミットが含まれています。SQLでUSEを発行するたびに表示される「変更されたデータベースコンテキストを...」にする唯一の「ユーザーエラーメッセージ」。バッチが完了すると、トランザクション ログ イベント「ロールバック」が発生し、挿入されたすべてのレコードが削除されます。
XACT_ABORT_OFF を使用していないのは、'change db context to' が影響を受けるのを見たことがないからです。
誰かがこれについて何か考えや経験を持っていますか? ありがとう!
[編集]: プロファイラーからコピーされたコードは、同じユーザーを使用して SSMS で正常に動作し、トリガーはありません。
[2 回目の編集]: SQL プロファイラ内で、eventsubtype の下に「rollback」を含む「TransactionLog」エントリが表示されますが、TM:Rollback Tran はありません。
python - Python でストアド プロシージャに null を渡す
Python を使用して MSSQL データベースのストアド プロシージャを呼び出していますが、渡された "None" 値が気に入りません。これはおそらく pymssql のバグですか? または、「なし」が NULL に変換されるようにする方法はありますか? NULL を渡すことができる必要があります。
コード例:
python - レコードを挿入し、文字列をフィールドにマップしますか?
私はPythonとSQLを初めて使用しますが、学習曲線を楽しんでいます。
私はpymssqlを利用していて、かなり基本的な問題になると思います。
関数内で、テーブルに1つのレコードを挿入し、以前に計算したいくつかの変数をINSERTステートメントに渡す必要があります。
現在、私のコードは次のようになっています。
var 1 = "Hello"
var 2 = "Bye"
var 3 = "12/12/12
cursor.execute("INSERT INTO table (field1, field2, field3) VALUES(%s, %s, %s)", var1, var2, var3)
これはエラーを返します:
execute()は最大2つの位置引数を取ります(4つ指定)
私は何を間違っているのか、そして私が学んでいることを念頭に置いて、これを行うためのよりエレガントな方法は何でしょうか?
python - SQL Serverにポイントを挿入しますか?
Pythonは初めてで、それが大好きです。これは単純なものかもしれないと思います。
私は現在、pymssqlを使用してPythonスクリプトを介してSQLServer2008にポイントを挿入しています。
これはすべて正常に機能します。また、これらの座標をGEOGRAPHYタイプのフィールド(geogと呼ばれる)に挿入する必要があります。
これにより、次の例外がスローされます。
入力well-knowntext(WKT)のラベルgeography::STGeomFroが無効です。有効なラベルは、POINT、LINESTRING、POLYGON、MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION、CIRCULARSTRING、COMPOUNDCURVE、CURVEPOLYGON、およびFULLGLOBE(地理データ型のみ)です。
SSMSから、テーブルに対して挿入ステートメントを実行して、ポイントを細かく挿入できます。
詳細が必要な場合は、コメントでお知らせください。
ペーストビンに関する私の仕事のいくつか。