Conexão – Microsoft SQL Server – Windows extensions – Python

Publicado: 10 de maio de 2014 em Python

Existem vários métodos para se conectar no banco de dados SQL Server através da linguagem Python, você pode criar uma conexão usando módulos escritos por terceiros como o pyMSSQL, você pode usar as biblioteca win32 através do modulo pyWin32 ou você se conectar usando o framework e ADO.NET usando o IronPython. Neste post usaremos o pyWin32 Extension para executar este trabalho, você pode baixar esta extensão no seguinte site:

Download: http://sourceforge.net/projects/pywin32/

Microsoft SQL Server - Python

Microsoft SQL Server – Python

Conectando ao Microsoft SQL Server

1 – Após baixar e instalar a extensão para o Python Win32 você precisa criar uma conexão ODBC para SQLSERVER, você pode optar por uma conexão ODBC win32 ou x64, para isto acesse o painel de controle, ferramentas administrativas e fontes de dados ODBC e preencha e teste a conexão com o seu servidor MSSQL:

MSQL -DNS

MSQL -DNS

2 – Abra sua IDE Python e utilize o código abaixo.

Exemplo:

Neste exemplo construiremos uma conexão com o banco de dados SQL Server através da extensão pyWin32 e utilizaremos um DNS ODBC para criar uma conexão com o banco de dados.

Python

#!/usr/bin/env python
# -*- coding: latin-1 -*-
# Desenvolvimento Aberto
# ConexaoMSSQL.py

# importa modulos
from Tkinter import *
import tkMessageBox
import odbc

# Cria formulario
formulario = Tk(className='Microsoft SQL Server')
formulario.geometry("300x200+300+300")

# Cria janela para menssagem
janela = Tk()
janela.wm_withdraw()

# Evento para o botão
def conectar():
    # Cria string de conexão
    sconexao = edb.get() + "/" +  eusuario.get() + "/" + esenha.get()
    try:
        con = odbc.odbc(sconexao)
        tkMessageBox.showinfo(title="Menssagem", message="Conectado com Sucesso!", parent=janela)
    except ValueError:
        tkMessageBox.showinfo(title="Menssagem", message="Erro de Conexão", parent=janela)

# Cria componentes
titulo = Label(formulario, text="MSSQL Express 2012 - Python")

lusuario = Label(formulario, text="Digite seu usuário:")
lsenha = Label(formulario, text="Digite sua senha:")
ldb = Label(formulario, text="Digite o DNS ODBC:")

eusuario = Entry(formulario)
esenha = Entry(formulario, show="*")
edb = Entry(formulario)

botao = Button(formulario, text="Conectar", command=conectar)

# Cria layout de tela
titulo.grid(row=0, sticky=W+E+N+S, pady=10)
lusuario.grid(row=1, sticky=W, padx=20)
eusuario.grid(row=1, column=1, pady=5)
lsenha.grid(row=2,sticky=W, padx=20)
esenha.grid(row=2, column=1, pady=5)
ldb.grid(row=3, sticky=W, padx=20)
edb.grid(row=3, column=1, pady=5)
botao.grid(row=5, sticky=W, pady=20, padx=20)

# Loop do tcl
mainloop()

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s