Method of connecting Python to SQLServer2000

  • 2020-05-30 20:28:45
  • OfStack

The example in this article shows how to connect Python to SQLServer2000. I will share it with you for your reference as follows:

http: / / pymssql. sourceforge. net/introduce PYTHON connection MSSQL good address!

One of the best ways to use Python is to be able to find a lot of modules on the web and just download them and use them. One of the reasons for rapid development is this. Now it is time to study the operation function of one pymssql module.

You can directly query the help documentation after installation to view the module's 1 function help documentation.

1.1 ways to solve the garbled code problem:


s.decode('gbk', 'ignore')

For example, to convert an String object s from an gbk internal code to UTF-8, do the following


s.decode('gbk').encode('utf-8')

In practice, however, I've found that this approach often goes awry:

UnicodeDecodeError: 'gbk' codec can't decode bytes in position 30664-30665: illegal multibyte sequence

Met illegal characters - especially in this is because some written in C/C + + program, the Angle of space often have a variety of different ways of implementation, such as/xa3 / xa0, or/xa4 / x57, these characters, seem to be the Angle of space, but they are not "legal" all the Angle of space (the real Angle of whole space is/xa1 / xa1), therefore in the process of transcoding appeared abnormal.

Fortunately, tiny found the perfect solution (I was criticized for not reading the documentation carefully, ahh...).


s.decode('gbk', 'ignore').encode('utf-8')

Since the function prototype of decode is decode([encoding], [errors='strict']), the second parameter can be used to control the error handling strategy. The default parameter is strict, which means to throw an exception when encountering illegal characters.

If set to ignore, illegal characters are ignored.
If set to replace, ? Replace illegal characters;
If set to xmlcharrefreplace, the character reference of XML is used.

This method really helps a lot. For the kind of storage in the database full Angle and half of the illegal characters can be so to solve the problem oh!

Character encoding is always a headache!

2.http://www.python.org/dev/peps/pep-0249/

Common operations for Python-DBAPI are provided above.

The relevant operation methods of API are summarized as follows:

3. It is concluded that the general procedure of Python connecting to the database is as follows:

Step 1: import the relevant modules

The MYSQL:


import MySQLdb

The MSSQL:


import pymssql

Step 2: open the connection

The MYSQL:


conn = MySQLdb.connect(self.dbhost,self.dbuser,self.dbpasswd,self.database)

The MSSQL:


conn = pymssql.connect(host=self.dbhost,user=self.dbuser,password=self.dbpasswd,database=self.database)

[the method is defined by its own function prototype]

Step 3: once the connection is complete, start creating an cursor. This object is used to send a request operation to the database.

Code:


curs = conn.cursor()

Equivalent to Statement object 1 in JAVA. Commit the SQL command by statement

Step 4: start sending the SQL command to the database server. You can do this


curs.execute(SQL)

Such as:


curs.execute("select * from test")

The SQL command can be any SQL statement that performs an INSERT operation or an DELETE operation or an SELECT operation

Note that the commit() commit is done once.

Such as:


s.decode('gbk').encode('utf-8')

0

If the SELECT operation is performed, step 5 is required:

Step 5:


s.decode('gbk').encode('utf-8')

1

fetchall() is just one method of our cursor object.

Now you can extract the relevant information


s.decode('gbk').encode('utf-8')

2

Look at the code I wrote:


def test(self):
    conn = self.connect()
    sql="select * from bbs where id<20"
    curs = conn.cursor()  # get 1 Vernier objects 
    curs.execute(sql)    # perform 1 a SQL statements 
    rows=curs.fetchall()  # Get the entire query result set 
    for i in range(len(rows)): #
      print "Row",i,"name",rows[i][3],"value",rows[i][4]
    conn.close()

I've learned that the 1 line of records obtained by this method is actually a data structure of 1 tuple.

To get one of them, you can query it using a method similar to a two-dimensional array.

rows[1][0]: representing the value of the first position in the first record.

And then we'll look at extracting it from the database and encoding it and decoding it


s.decode('gbk').encode('utf-8')

4

After the operation of the database can be directly so to write the code!

http: / / pymssql. sourceforge. net/userguide html have detailed help documentation

For more information about Python, please visit our site: Python common database operations skills summary, Python coding skills summary, Python pictures skills summary, "Python data structure and algorithm tutorial", "Python Socket programming skills summary", "Python function using techniques", "Python string skills summary", "Python introduction and advanced tutorial" and "Python file and directory skills summary"

I hope this article is helpful to you Python programming.


Related articles: