What's the simplest way to access mssql with python or ironpython?

前端 未结 8 2033
忘了有多久
忘了有多久 2020-12-04 16:56

I\'ve got mssql 2005 running on my personal computer with a database I\'d like to run some python scripts on. I\'m looking for a way to do some really simple access on the d

相关标签:
8条回答
  • 2020-12-04 17:25

    Everyone else seems to have the cPython -> SQL Server side covered. If you want to use IronPython, you can use the standard ADO.NET API to talk to the database:

    import clr
    clr.AddReference('System.Data')
    from System.Data.SqlClient import SqlConnection, SqlParameter
    
    conn_string = 'data source=<machine>; initial catalog=<database>; trusted_connection=True'
    connection = SqlConnection(conn_string)
    connection.Open()
    command = connection.CreateCommand()
    command.CommandText = 'select id, name from people where group_id = @group_id'
    command.Parameters.Add(SqlParameter('group_id', 23))
    
    reader = command.ExecuteReader()
    while reader.Read():
        print reader['id'], reader['name']
    
    connection.Close()
    

    If you've already got IronPython, you don't need to install anything else.

    Lots of docs available here and here.

    0 讨论(0)
  • 2020-12-04 17:28

    I've used pymssql with standard python and liked it. Probably easier than the alternatives mentioned if you're just looking for basic database access.

    Sample code.

    0 讨论(0)
  • 2020-12-04 17:31

    pyodbc comes with Activestate Python, which can be downloaded from here. A minimal odbc script to connect to a SQL Server 2005 database looks like this:

    import odbc
    
    CONNECTION_STRING="""
    Driver={SQL Native Client};
    Server=[Insert Server Name Here];
    Database=[Insert DB Here];
    Trusted_Connection=yes;
    """
    
    db = odbc.odbc(CONNECTION_STRING)
    c = db.cursor()
    c.execute ('select foo from bar')
    rs = c.fetchall()
    for r in rs:
        print r[0]
    
    0 讨论(0)
  • 2020-12-04 17:31

    I also successfully use pymssql with CPython. (With and without SQLAlchemy).

    0 讨论(0)
  • 2020-12-04 17:31

    http://adodbapi.sourceforge.net/ can be used with either CPython or IronPython. I have been very pleased with it.

    0 讨论(0)
  • 2020-12-04 17:37

    I use SQL Alchemy with cPython (I don't know if it'll work with IronPython though). It'll be pretty familiar to you if you've used Hibernate/nHibernate. If that's a bit too verbose for you, you can use Elixir, which is a thin layer on top of SQL Alchemy. To use either one of those, you'll need pyodbc, but that's a pretty simple install.

    Of course, if you want to write straight SQL and not use an ORM, you just need pyodbc.

    0 讨论(0)
提交回复
热议问题