3

sqlalchemyMySQL データベースに接続するエンジンを作成します。引数charsetとして指定したい。create_engine

私がそのように使用する場合create_engine

create_engine('mysql+mysqldb://pd:pd@localhost/pd?charset=utf8') 

それなら大丈夫です。しかし、私がそのように使用すると:

create_engine('mysql+mysqldb://pd:pd@localhost/pd', charset='utf8') 

次に、次のエラーが表示されます。

TypeError: Invalid argument(s) 'charset' sent to create_engine(), using
    configuration MySQLDialect_mysqldb/QueuePool/Engine. Please check that
    the keyword arguments are appropriate for this combination of components.

documentationによると、この使用法は可能であるはずです:

URL の文字列形式は、dialect+driver://user:password@host/dbname[?key=value..] ... です。

**kwargs は、適切なコンポーネントにルーティングされるさまざまなオプションを取ります。引数は、エンジン、基礎となるダイアレクト、およびプールに固有のものである場合があります。特定の方言は、その方言に固有のキーワード引数も受け入れます。ここでは、ほとんどの create_engine() の使用法に共通するパラメーターについて説明します。

なぜcharset個別に指定できないのですか?

4

2 に答える 2

3

追加の DBAPI 引数は、個別に渡される場合、connect_argsを介して渡されます。

于 2013-04-03T18:49:46.667 に答える