Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- import wx
- import cx_Oracle
- ###########################################################################
- ## Class db_data
- ###########################################################################
- class connectDB ( wx.Frame ):
- def __init__( self, parentMain ):
- wx.Frame.__init__ ( self, parent=None, id = wx.ID_ANY, title = u"Data Quality -- Подсоединение к базе данных", pos = wx.DefaultPosition, size = wx.Size( 135,400 ), style = wx.CAPTION|wx.RESIZE_BORDER|wx.STAY_ON_TOP|wx.TAB_TRAVERSAL )
- self.dbdata = None
- self.main = parentMain
- self.SetSizeHintsSz( wx.Size( 135,400 ), wx.Size( 135,400 ) )
- sizer1 = wx.BoxSizer( wx.VERTICAL )
- self.panel = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
- sizer2 = wx.BoxSizer( wx.VERTICAL )
- self.m_staticText12 = wx.StaticText( self.panel, wx.ID_ANY, u"IP адрес", wx.DefaultPosition, wx.DefaultSize, 0 )
- self.m_staticText12.Wrap( -1 )
- sizer2.Add( self.m_staticText12, 0, wx.ALL, 5 )
- self.ip = wx.TextCtrl( self.panel, wx.ID_ANY, '192.168.56.101', wx.DefaultPosition, wx.DefaultSize, 0 )
- sizer2.Add( self.ip, 0, wx.ALL|wx.EXPAND, 5 )
- self.m_staticText13 = wx.StaticText( self.panel, wx.ID_ANY, u"Port", wx.DefaultPosition, wx.DefaultSize, 0 )
- self.m_staticText13.Wrap( -1 )
- sizer2.Add( self.m_staticText13, 0, wx.ALL, 5 )
- self.port = wx.TextCtrl( self.panel, wx.ID_ANY, '1521', wx.DefaultPosition, wx.DefaultSize, 0 )
- sizer2.Add( self.port, 0, wx.ALL|wx.EXPAND, 5 )
- self.m_staticText14 = wx.StaticText( self.panel, wx.ID_ANY, u"SID", wx.DefaultPosition, wx.DefaultSize, 0 )
- self.m_staticText14.Wrap( -1 )
- sizer2.Add( self.m_staticText14, 0, wx.ALL, 5 )
- self.sid = wx.TextCtrl( self.panel, wx.ID_ANY, 'orcl', wx.DefaultPosition, wx.DefaultSize, 0 )
- sizer2.Add( self.sid, 0, wx.ALL|wx.EXPAND, 5 )
- self.m_staticText15 = wx.StaticText( self.panel, wx.ID_ANY, u"Login", wx.DefaultPosition, wx.DefaultSize, 0 )
- self.m_staticText15.Wrap( -1 )
- sizer2.Add( self.m_staticText15, 0, wx.ALL, 5 )
- self.login = wx.TextCtrl( self.panel, wx.ID_ANY, 'ARTUR', wx.DefaultPosition, wx.DefaultSize, 0 )
- sizer2.Add( self.login, 0, wx.ALL|wx.EXPAND, 5 )
- self.m_staticText16 = wx.StaticText( self.panel, wx.ID_ANY, u"Password", wx.DefaultPosition, wx.DefaultSize, 0 )
- self.m_staticText16.Wrap( -1 )
- sizer2.Add( self.m_staticText16, 0, wx.ALL, 5 )
- self.passw = wx.TextCtrl( self.panel, wx.ID_ANY, '123', wx.DefaultPosition, wx.DefaultSize, 0 )
- sizer2.Add( self.passw, 0, wx.ALL|wx.EXPAND, 5 )
- self.connect = wx.Button( self.panel, wx.ID_OK, u"Connect", wx.DefaultPosition, wx.DefaultSize, 0 )
- sizer2.Add( self.connect, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.EXPAND, 5 )
- self.cancel = wx.Button( self.panel, wx.ID_CANCEL, u"Cancel", wx.DefaultPosition, wx.DefaultSize, 0 )
- sizer2.Add( self.cancel, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.EXPAND, 5 )
- self.panel.SetSizer( sizer2 )
- self.panel.Layout()
- sizer2.Fit( self.panel )
- sizer1.Add( self.panel, 1, wx.EXPAND |wx.ALL, 5 )
- self.SetSizer( sizer1 )
- self.Layout()
- self.Centre( wx.BOTH )
- self.Bind(wx.EVT_BUTTON, self.OnConnectBtn, self.connect)
- self.connect.SetDefault()
- self.Bind(wx.EVT_BUTTON, self.OnCancelBtn, self.cancel)
- def OnConnectBtn(self, event):
- self.main.menubar.Enable(1, not self.main.enabledConnect)
- self.ip = self.ip.GetValue()
- self.port = self.port.GetValue()
- self.login = self.login.GetValue()
- self.sid = self.sid.GetValue()
- self.passw = self.passw.GetValue()
- self.dbdata = [self.ip, self.port, self.sid, self.login, self.passw]
- self.main.dbdat = self.dbdata
- self.main.statusbar.SetStatusText(u'Выполнено подключение к базе')
- try:
- self.dsn_tns = cx_Oracle.makedsn(self.dbdata[0], self.dbdata[1], self.dbdata[2])
- self.connection = cx_Oracle.connect(self.dbdata[3], self.dbdata[4], self.dsn_tns)
- except (cx_Oracle.DatabaseError, cx_Oracle.DataError), info:
- print info
- try:
- self.main.connection0 = self.connection
- self.main.connection1 = self.connection
- self.main.schema = self.login
- except AttributeError, info:
- error = u'Подключение к базе не удалось'
- wx.MessageBox(error)
- self.Close()
- def OnCancelBtn(self, event):
- self.Destroy()
- def __del__( self ):
- pass
Advertisement
Add Comment
Please, Sign In to add comment