2017-04-26 25 views
1

Pythonプログラミング言語の助けを借りて、MSSQL Serverからデータを取得できますか?私は、すべてのテーブルデータを取得するためにselectコマンドを使用し、データを操作するためにプロシージャを使用するような簡単な実装が必要です。また、どのモジュールがPythonとMSSQLの間のビルド通信にも使用されます。MSSQLからPythonを使用してデータを取得する

+0

[pymssql](http://pymssql.org/en/stable/)を使用しようとしましたか? –

+0

ようこそ!あなたが試したことをあなたのコード例に載せてください。あなたがあなたの質問を解決してからupvoteしてこの答えを受け入れるならば、リンク** [How to Ask](http://stackoverflow.com/help/mcve)** –

答えて

0
import pymssql 
conn = pymssql.connect(host='SQL01', user='user', password='password', database='mydatabase') 
cur = conn.cursor() 
cur.execute('CREATE TABLE persons(id INT, name VARCHAR(100))') 
cur.executemany("INSERT INTO persons VALUES(%d, %s)", \ 
    [ (1, 'John Doe'), (2, 'Jane Doe') ]) 
conn.commit() # you must call commit() to persist your data if you don't set autocommit to True 

cur.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe') 
row = cur.fetchone() 
while row: 
    print "ID=%d, Name=%s" % (row[0], row[1]) 
    row = cur.fetchone() 

# if you call execute() with one argument, you can use % sign as usual 
# (it loses its special meaning). 
cur.execute("SELECT * FROM persons WHERE salesrep LIKE 'J%'") 

conn.close() 
+0

を訪問してください –

2

私はこのコードを使用していて、それは完全に機能しました。

from os import getenv 
import pymssql 

server = getenv("PYMSSQL_TEST_SERVER") 
user = getenv("PYMSSQL_TEST_USERNAME") 
password = getenv("PYMSSQL_TEST_PASSWORD") 

conn = pymssql.connect(server, user, password, "tempdb") 
cursor = conn.cursor() 
cursor.execute(""" 
IF OBJECT_ID('persons', 'U') IS NOT NULL 
    DROP TABLE persons 
CREATE TABLE persons (
    id INT NOT NULL, 
    name VARCHAR(100), 
    salesrep VARCHAR(100), 
    PRIMARY KEY(id) 
) 
""") 
cursor.executemany(
    "INSERT INTO persons VALUES (%d, %s, %s)", 
    [(1, 'John Smith', 'John Doe'), 
    (2, 'Jane Doe', 'Joe Dog'), 
    (3, 'Mike T.', 'Sarah H.')]) 
# you must call commit() to persist your data if you don't set autocommit to True 
conn.commit() 

cursor.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe') 
row = cursor.fetchone() 
while row: 
    print("ID=%d, Name=%s" % (row[0], row[1])) 
    row = cursor.fetchone() 

conn.close() 
関連する問題