この記事では主に Python による SQLServer2000 への接続方法を紹介し、Python によるデータベース接続の実装で発生する一般的な問題と関連する注意事項を例の形式で分析します。 Python が SQLServer2000 メソッドに接続する話。参考のために皆さんと共有してください。詳細は次のとおりです:
pymssql.sourceforge.net/ PYTHON が MSSQL に接続するための適切なアドレスを紹介します。
Python を使用する良い方法は、インターネット上で多くの既製のモジュールを見つけて、それらを直接ダウンロードして使用することです。急速な発展の理由の1つはこれです。今回は主にpmssqlモジュールの操作機能を勉強していきます!
インストール後にヘルプドキュメントを直接クエリして、このモジュールのいくつかの機能ヘルプドキュメントを表示できます。
1.
文字化けの問題を解決する方法: s.decode('gbk', 'ignore')
s.decode('gbk').encode('utf-8')
ただし、実際の開発では、このメソッドは頻繁に例外を生成することがわかります:
UnicodeDecodeError: 'gbk' codec can't decode bytes in Position 30664-30665: 不正なマルチバイト シーケンスこれは、特に不正な文字が検出されたためです。場合によっては、C/C++ で書かれたプログラムでは、/xa3/xa0 や /xa4/x57 など、全角スペースがさまざまな方法で実装されることがあります。これらの文字は全角スペースのように見えますが、実際は全角スペースです。 「正当な」全角スペースではないため (実際の全角スペースは /xa1/xa1 です)、トランスコーディング プロセス中に例外が発生しました。
幸いなことに、tiny は完璧な解決策を見つけました (ドキュメントを注意深く読んでいないことで批判されました、汗...)
s.decode('gbk', 'ignore').encode('utf-8')
decode の関数プロトタイプは decode([encoding], [errors='strict'] ) であるため、 2 番目のパラメータを使用して、エラー処理戦略を制御できます。デフォルトのパラメータは、不正な文字が見つかったときに例外がスローされることを意味します。
に設定すると、不正な文字は無視されます。 replace、不正な文字は ? に置き換えられます xmlcharrefreplace に設定すると、XML 文字参照が使用されます。
この方法は本当に役に立ちます。全角と半角の不正な文字をデータベースに保存する問題は、次のように解決できます。
import MySQLdb
import pymssql
conn = MySQLdb.connect(self.dbhost,self.dbuser,self.dbpasswd,self.database)
conn = pymssql.connect(host=self.dbhost,user=self.dbuser,password=self.dbpasswd,database=self.database)
curs = conn.cursor()
ステップ 4: SQL コマンドのデータベース サーバーへの送信を開始します。次のように実行できます
curs.execute(SQL)
curs.execute("select * from test")
cursor.execute("insert into test(id) values(1)")
curs.execute("select * from test") rows = curs.fetchall()
for i in range(len(rows)): print "Row",i,"name",rows[i][0],"value",rows[i][1]
def test(self): conn = self.connect() sql="select * from bbs where id<20" curs = conn.cursor() #得到一个游标对象 curs.execute(sql) #执行一个SQL语句 rows=curs.fetchall() #得到全部的查询结果集 for i in range(len(rows)): # print "Row",i,"name",rows[i][3],"value",rows[i][4] conn.close()
for i in range(len(rows)): print rows[i][4].decode('gb2312', 'ignore').encode('gb2312')
以上がPython を使用して SQLServer2000 に接続する方法の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。