pymssql文档

pymssql methods

  • set_max_connections(number) -- Sets maximum number of simultaneous database connections allowed to be open at any given time. Default is 25.
  • get_max_connections() -- Gets current maximum number of simultaneous database connections allowed to be open at any given time.

Connection (pymssqlCnx) class

This class represents an MS SQL database connection. You can create an instance of this class by calling constructor pymssql.connect(). It accepts the following arguments. Note that in most cases you will want to use keyword arguments, instead of positional arguments.
  • dsn -- colon-delimited string of the form host:dbase:user:pass:opt:tty, primarily for compatibility with previous versions of pymssql. This argument is removed in pymssql 2.0.0.
  • user -- database user to connect as.
  • password -- user's password.
  • trusted -- bolean value signalling whether to use Windows Integrated Authentication to connect instead of SQL autentication with user and password (Windows only) This argument is removed in pymssql 2.0.0 however Windows authentication is still possible.
  • host -- database host and instance you want to connect to. Valid examples are:
    • r'.\SQLEXPRESS' -- SQLEXPRESS instance on local machine (Windows only)
    • r'(local)\SQLEXPRESS' -- same as above (Windows only)
    • r'SQLHOST' -- default instance at default port (Windows only)
    • r'SQLHOST' -- specific instance at specific port set up in freetds.conf (Linux/*nix only)
    • r'SQLHOST,1433' -- specified TCP port at specified host
    • r'SQLHOST:1433' -- the same as above
    • r'SQLHOST,5000' -- if you have set up an instance to listen on port 5000
    • r'SQLHOST:5000' -- the same as above
'.' (the local host) is assumed if host is not provided.
  • database -- the database you want initially to connect to, by default SQL Server selects the database which is set as default for specific user.
  • timeout -- query timeout in seconds, default is 0 (wait indefinitely).
  • login_timeout -- timeout for connection and login in seconds, default 60.
  • charset -- character set with which to connect to the database.
  • as_dict -- whether rows should be returned as dictionaries instead of tuples. You can access columns by 0-based index or by name. Please see examples. (Added in pymssql 1.0.2).
  • max_conn -- how many simultaneous connections to allow; default is 25, maximum on Windows is 1474559; trying to set it to higher value results in error 'Attempt to set maximum number of DBPROCESSes lower than 1.' (error 10073 severity 7). (Added in pymssql 1.0.2). This property is removed in pymssql 2.0.0.

Connection object properties

This class has no useful properties and data members.

Connection object methods

  • autocommit(status) -- where status is a boolean value. This method turns autocommit mode on or off. By default, autocommit mode is off, what means every transaction must be explicitly committed if changed data is to be persisted in the database. You can turn autocommit mode on, what means every single operation commits itself as soon as it succeeds.
  • close() -- Close the connection.
  • cursor() -- Return a cursor object, that can be used to make queries and fetch results from the database.
  • commit() -- Commit current transaction. You must call this method to persist your data if you leave autocommit at its default value, which is False. See also pymssql examples.
  • rollback() -- Roll back current transaction.

Cusor (pymssqlCursor) class

This class represents a Cursor (in terms of Python DB-API specs) that is used to make queries against the database and obtaining results. You create  pymssqlCursor instances by calling  cursor() method on an open  pymssqlCnx connection object.

Cusor object properties

  • rowcount -- Returns number of rows affected by last operation. In case of SELECT statements it returns meaningful information only after all rows have been fetched.
  • connection -- This is the extension of the DB-API specification. Returns a reference to the connection object on which the cursor was created.
  • lastrowid -- This is the extension of the DB-API specification. Returns identity value of last inserted row. If previous operation did not involve inserting a row into a table with identity column, None is returned.
  • rownumber -- This is the extension of the DB-API specification. Returns current 0-based index of the cursor in the result set.

Cusor object methods

  • close() -- Close the cursor. The cursor is unusable from this point.
  • execute(operation),
  • execute(operation, params) -- operation is a string and params, if specified, is a simple value, a tuple, or None. Performs the operation against the database, possibly replacing parameter placeholders with provided values. This should be preferred method of creating SQL commands, instead of concatenating strings manually, what makes a potential of SQL Injection attacks. This method accepts the same formatting as Python's builtin string interpolation operator. If you call execute() with one argument, the % sign loses its special meaning, so you can use it as usual in your query string, for example in LIKE operator. See the examples. You must callconnection.commit() after execute() or your data will not be persisted in the database. You can also set connection.autocommit if you want it to be done automatically. This behaviour is required by DB-API, if you don't like it, just use the _mssql module instead.
  • executemany(operation, params_seq) -- operation is a string and params_seq is a sequence of tuples (e.g. a list). Execute a database operation repeatedly for each element in parameter sequence.
  • fetchone() -- Fetch the next row of a query result, returning a tuple, or a dictionary if as_dict was passed to pymssql.connect(), orNone if no more data is available. Raises OperationalError if previous call to execute*() did not produce any result set or no call was issued yet.
  • fetchmany(size=None) -- Fetch the next batch of rows of a query result, returning a list of tuples, or a list of dictionaries if as_dict was passed to pymssql.connect(), or an empty list if no more data is available. You can adjust the batch size using the size parameter, which is preserved across many calls to this method. Raises OperationalError if previous call to execute*() did not produce any result set or no call was issued yet.
  • fetchall() -- Fetch all remaining rows of a query result, returning a list of tuples, or a list of dictionaries if as_dict was passed topymssql.connect(), or an empty list if no more data is available. Raises OperationalError if previous call to execute*() did not produce any result set or no call was issued yet.
  • fetchone_asdict() -- (Warning: this method is not part of DB-API. This method is deprecated as of pymsssql 1.0.2. It was replaced byas_dict parameter to pymssql.connect()). Fetch the next row of a query result, returning a dictionary, or None if no more data is available. Data can be accessed by 0-based numeric column index, or by column name. Raises OperationalError if previous call to execute*() did not produce any result set or no call was issued yet. This method is removed in pymssql 2.0.0.
  • fetchmany_asdict(size=None) -- (Warning: this method is not part of DB-API. This method is deprecated as of pymsssql 1.0.2. It was replaced by as_dict parameter to pymssql.connect()). Fetch the next batch of rows of a query result, returning a list of dictionaries. An empty list is returned if no more data is available. Data can be accessed by 0-based numeric column index, or by column name. You can adjust the batch size using the size parameter, which is preserved across many calls to this method. Raises OperationalError if previous call to execute*() did not produce any result set or no call was issued yet. This method is removed in pymssql 2.0.0.
  • fetchall_asdict() -- (Warning: this method is not part of DB-API. This method is deprecated as of pymsssql 1.0.2. It was replaced byas_dict parameter to pymssql.connect()). Fetch all remaining rows of a query result, returning a list of dictionaries. An empty list is returned if no more data is available. Data can be accessed by 0-based numeric column index, or by column name. RaisesOperationalError if previous call to execute*() did not produce any result set or no call was issued yet. The idea and original implementation of this method by Sterling Michel <sterlingmichel_at_gmail_dot_com>. Thie method is removed in pymssql 2.0.0.
  • nextset() -- This method makes the cursor skip to the next available result set, discarding any remaining rows from the current set. Returns True value if next result is available, None if not.
  • __iter__()next() -- These methods faciliate Python iterator protocol. You most likely will not call them directly, but indirectly by using iterators.
  • setinputsizes()setoutputsize() -- These methods do nothing, as permitted by DB-API specs.

转载于:https://www.cnblogs.com/xcf007/archive/2012/12/24/2830934.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pymssql是一个Python和Microsoft SQL Server之间的接口模块。如果在使用pymssql时出现错误,可能是由于以下原因之一: 1. 缺少依赖项:pymssql需要依赖于FreeTDS,它是一个开源的实现MSSQL协议的库。如果没有正确安装FreeTDS,pymssql将无法工作。请确保已经安装了FreeTDS,并且已经将其路径添加到LD_LIBRARY_PATH或DYLD_LIBRARY_PATH环境变量中。 2. 数据库连接错误:如果连接到MSSQL服务器时出错,请检查您的连接字符串是否正确。请注意,pymssql使用的连接字符串格式与ODBC不同。 3. 查询错误:如果您的查询语句存在错误,则会收到相应的错误消息。请确保您的查询语句正确,且不会引发任何语法错误。 以下是pymssql模块官方文档的翻译: pymssql是一个Python和Microsoft SQL Server之间的接口模块。它允许Python应用程序通过ODBC连接到SQL Server数据库,执行查询和修改操作,并从结果集中检索数据。 该模块支持Python 2和Python 3,并且可以在Windows和Linux上使用。它依赖于FreeTDS库,这是一个开源的实现MSSQL协议的库。 要使用pymssql,您需要安装FreeTDS,并将其路径添加到LD_LIBRARY_PATH或DYLD_LIBRARY_PATH环境变量中。您还需要安装pymssql模块本身。 连接到数据库时,请使用以下格式的连接字符串: ```python conn = pymssql.connect(server='servername', user='username', password='password', database='database_name') ``` 在连接字符串中,将server替换为您的SQL Server实例的名称,将user和password替换为您的凭据,将database_name替换为您要连接的数据库的名称。 执行查询时,您可以使用游标对象: ```python cursor = conn.cursor() cursor.execute('SELECT * FROM table_name') rows = cursor.fetchall() ``` 在此示例中,我们从名为table_name的表中检索所有行,并将结果存储在rows变量中。您可以使用游标对象执行任何其他SQL操作,例如插入、更新或删除数据。 如果您在使用pymssql时遇到问题,请参阅官方文档,其中包含有用的示例和教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值