You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

409 lines
14 KiB

Imports IBM.Data.DB2
Imports IBM.Data.DB2.DB2Type
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO.File
Imports System.Data.SqlTypes
Imports System.ComponentModel
Imports System.IO
Imports System.SystemException
Imports System.Reflection
Imports System.Configuration
Public Class Form1
Dim dt As New DataTable
Dim ds As New DataSet
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ds.ReadXml(My.Settings.ConfigFile.ToString)
For Each r As DataRow In ds.Tables(My.Settings.TableName).Rows
If r.Item(1) = My.Settings.Name Then
Me.TextBox1.Text = r.Item(0)
End If
Next
Me.ComboBox1.Items.Clear()
For Each value As Configuration.SettingsPropertyValue In My.Settings.PropertyValues
If UCase(value.Name.Substring(0, 3)) = "SQL" Then Me.ComboBox1.Items.Add(value.PropertyValue.ToString)
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs)
Try
MsgBox("Start")
Dim con As New IBM.Data.DB2.DB2Connection(Me.TextBox1.Text)
con.Open()
con.Close()
MsgBox("Open / Close OK")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try
MsgBox("Start")
Dim d As New Odbc.OdbcConnection(Me.TextBox1.Text)
d.Open()
d.Close()
MsgBox("OK")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs)
Try
MsgBox("Start")
Dim con As New OleDb.OleDbConnection(Me.TextBox1.Text)
con.Open()
con.Close()
MsgBox("Open / Close OK")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Try
MsgBox("Start")
dt.Rows.Clear()
dt.Columns.Clear()
Dim SQLconnect As New Odbc.OdbcConnection()
Dim ds As New DataSet
SQLconnect.ConnectionString = Me.TextBox1.Text
SQLconnect.Open()
Dim da As New Odbc.OdbcDataAdapter("", SQLconnect)
Dim sqlcmd As New Odbc.OdbcCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = Me.TextBox2.Text
da.SelectCommand = sqlcmd
da.Fill(dt)
Me.DataGridView1.DataSource = dt
SQLconnect.Close()
MsgBox("OK")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Try
MsgBox("Start")
Dim SQLconnect As New Odbc.OdbcConnection()
SQLconnect.ConnectionString = Me.TextBox1.Text
Dim sqlcmd As New Odbc.OdbcCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = Me.TextBox2.Text
SQLconnect.Open()
sqlcmd.ExecuteNonQuery()
SQLconnect.Close()
MsgBox("OK")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Dim f As New SaveFileDialog
f.ShowDialog()
If f.FileName <> "" Then
Dim dsn As New DataSet
dsn.Tables.Add(dt.Copy)
dsn.WriteXml(f.FileName)
'ds.Tables.Clear()
'ds.Tables.Add(dt.Copy)
'ds.WriteXml(f.FileName)
End If
End Sub
'Private Sub Button7_Click(sender As Object, e As EventArgs)
' Dim f As New OpenFileDialog
' f.ShowDialog()
' If Microsoft.VisualBasic.Right(f.FileName, 11) = "blindex.xml" Then
' Dim ds As New DataSet
' ds.ReadXml(f.FileName)
' copatodb(ds, "BL")
' End If
' If Microsoft.VisualBasic.Right(f.FileName, 11) = "zvindex.xml" Then
' Dim ds As New DataSet
' ds.ReadXml(f.FileName)
' copatodb(ds, "ZV")
' End If
' If Microsoft.VisualBasic.Right(f.FileName, 13) = "hostindex.xml" Then
' Dim ds As New DataSet
' ds.ReadXml(f.FileName)
' copatodb(ds, "HOST")
' End If
'End Sub
'Sub copatodb(ByVal ds As DataSet, type As String)
' Dim cs As String = "Data Source=shu00;Initial Catalog=odadm;Persist Security Info=True;User ID=sa;password=*shu29;"
' Dim connection As SqlConnection
' Dim command As SqlCommand
' Dim adpter As New SqlDataAdapter
' connection = New SqlConnection(cs)
' Select Case type
' Case "ZV"
' Dim DA As New SqlDataAdapter("select * from zvindex ", cs)
' Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA)
' Dim dso As New DataSet()
' connection.Open()
' Dim ii As Integer = 0
' DA.Fill(dso, "ZV")
' For Each r As DataRow In ds.Tables(0).Rows
' Dim myrow As DataRow
' myrow = dso.Tables(0).NewRow
' ii = ii + 1
' For i = 0 To ds.Tables(0).Columns.Count - 2
' myrow.Item(i) = r.Item(i).ToString
' Next
' dso.Tables(0).Rows.Add(myrow)
' Next
' DA.Update(dso, "ZV")
' Case "BL"
' Dim DA As New SqlDataAdapter("select * from blindex ", cs)
' Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA)
' Dim dso As New DataSet()
' connection.Open()
' DA.Fill(dso, "ZV")
' For Each r As DataRow In ds.Tables(0).Rows
' Dim myrow As DataRow
' myrow = dso.Tables(0).NewRow
' For i = 0 To ds.Tables(0).Columns.Count - 1
' myrow.Item(i) = r.Item(i)
' Next
' dso.Tables(0).Rows.Add(myrow)
' Next
' DA.Update(dso, "ZV")
' Case "HOST"
' Dim DA As New SqlDataAdapter("select * from hostindex ", cs)
' Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA)
' Dim dso As New DataSet()
' connection.Open()
' DA.Fill(dso, "ZV")
' For Each r As DataRow In ds.Tables(0).Rows
' Dim myrow As DataRow
' myrow = dso.Tables(0).NewRow
' For i = 0 To ds.Tables(0).Columns.Count - 1
' myrow.Item(i) = r.Item(i)
' Next
' dso.Tables(0).Rows.Add(myrow)
' Next
' DA.Update(dso, "ZV")
' End Select
'End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
Me.TextBox2.Text = Me.ComboBox1.Text
End Sub
Private Sub btnXMLCheck_Click(sender As Object, e As EventArgs) Handles btnXMLCheck.Click
If Not Panel1.Visible Then
Me.Panel1.Visible = True
Me.Panel1.Dock = DockStyle.Fill
Else
Panel1.Visible = False
End If
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
OpenFileDialog2.ShowDialog()
If OpenFileDialog2.FileName <> "" Then Me.lblxmlfile.text = OpenFileDialog2.FileName
End Sub
Dim Verarbeitungstyp As String
Dim sqlconn As New SqlConnection(My.Settings.HostConnection)
Dim Odata As New DataTable
Dim odata1 As New DataTable
Dim resultdata As New DataTable
Private Sub Button3_Click_1(sender As Object, e As EventArgs) Handles Button3.Click
Verarbeitungstyp = "HOST"
resultdata.Columns.Clear()
resultdata.Columns.Add("Mailid")
Dim ds As New DataSet
ds.ReadXml(Me.lblxmlfile.Text)
Me.ProgressBar1.Minimum = 0
Me.ProgressBar1.Maximum = ds.Tables(0).Rows.Count
Me.ProgressBar1.Value = 0
Dim cnt As Integer = 0
For Each r As DataRow In ds.Tables(0).Rows
Check_Dokumentid(r)
cnt = cnt + 1
Me.lblprogress.Text = cnt.ToString + " / " + ds.Tables(0).Rows.Count.ToString
Me.ProgressBar1.Value = cnt
Application.DoEvents()
Next
Me.DataGridView1.DataSource = resultdata
End Sub
Function Check_Dokumentid(r As DataRow) As Boolean
Dim sql As String
Dim sqlcmd As New SqlCommand
Select Case Verarbeitungstyp
Case "HOST"
sql = My.Settings.SQL_HOST_Check_Dokumentid
sql = sql.Replace("&MailingID&", r("MailingID"))
Case "ZV"
'sql = My.Settings.SQL_ZV_Check_Dokumentid
'sql = sql.Replace("&nrdoc00&", r("nrdoc00"))
Case "BL"
'sql = My.Settings.SQL_BL_Check_Dokumentid
'sql = sql.Replace("&mailingid&", r("mailingid"))
End Select
Dim da As New SqlDataAdapter(sql, sqlconn)
sqlcmd.Connection = sqlconn
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = sql
da.SelectCommand = sqlcmd
odata1.Rows.Clear()
da.Fill(odata1)
If odata1.Rows.Count < 1 Then
Get_SQLDB(Verarbeitungstyp)
Dim r1 As DataRow = resultdata.NewRow
r1.Item(0) = r.Item("Mailingid")
resultdata.Rows.Add(r1)
If chkUpdateHost.Checked Then
Odata.Rows.Clear()
Mapping_host(r)
Insert_rec(Odata)
End If
Return False
Else
Return True
End If
End Function
Public Function Get_SQLDB(Type As String)
Dim sql As String
Dim sqlcmd As New SqlCommand
Select Case Type
Case "HOST"
sql = My.Settings.SQL_Empty_HOST
Case "ZV"
'sql = My.Settings.SQL_Empty_ZV
Case "BL"
'sql = My.Settings.SQL_Empty_BL
End Select
Dim da As New SqlDataAdapter(sql, sqlconn)
sqlcmd.Connection = sqlconn
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = sql
da.SelectCommand = sqlcmd
Odata.Rows.Clear()
da.Fill(Odata)
End Function
Sub Insert_rec(dt As DataTable)
'Insert Import
Dim sql As String
Select Case Verarbeitungstyp
Case "HOST"
sql = My.Settings.SQL_Empty_HOST
Case "ZV"
'sql = My.Settings.SQL_Empty_ZV
Case "BL"
'sql = My.Settings.SQL_Empty_BL
End Select
Using adapter1 = New SqlDataAdapter(sql, sqlconn)
Using builder = New SqlCommandBuilder(adapter1)
adapter1.InsertCommand = builder.GetInsertCommand()
adapter1.Update(Odata)
builder.Dispose()
End Using
adapter1.Dispose()
End Using
End Sub
Public Sub Mapping_host(ByRef r As DataRow)
Dim newrow As DataRow = Odata.NewRow
newrow("anzahlseiten") = r("Pages")
newrow("dokumentid") = r("mailingid")
newrow("nachvollziehbarkeit") = r("traceability")
newrow("xomadocid") = r("xomadocid")
newrow("MailingProduct") = r("codemailintlid")
newrow("MailingProductBezeichnung") = r("Mailingproduct")
newrow("Valutadatum") = Microsoft.VisualBasic.Format(CDate(r("Creationdate")), "yyyyMMdd")
newrow("Archivdatum") = (r("dmerst00"))
newrow("valutadatum1") = Microsoft.VisualBasic.Format(CDate(r("valutadate")), "yyyyMMdd")
newrow("betreffzeile") = r("arctitle")
valor_isin(newrow, r)
newrow("standamdatum") = ""
newrow("ex") = r("copycode")
newrow("partnernr_inhaber") = r("bpkeynrinhab")
newrow("partnername_inhaber") = r("bpnameinhab")
newrow("partnernr_zusteller") = r("bpkeynrsend")
newrow("partnername_zusteller") = r("bpnamesend")
newrow("manr") = r("userid")
newrow("metatype") = r("metatype")
newrow("ordertype") = r("ordertyp")
newrow("loadid") = r("udokid00")
newrow("vvextern1") = r("macckeynr")
newrow("vvextern2") = r("contkeynr")
newrow("referenzzeile1") = ""
newrow("Referenzzeile2") = ""
newrow("transactnr") = r("ordernr")
newrow("inserttimestamp") = Now
Odata.Rows.Add(newrow)
End Sub
Sub valor_isin(newrow As DataRow, r As DataRow)
Try
Dim tmpvalor As String = ""
Dim xvalor As String = ""
Dim xisin As String = ""
Dim x As String = ""
newrow("valorennr") = ""
newrow("isinnr") = ""
tmpvalor = r("valoridr")
If tmpvalor.Length < 12 Then
newrow("valorennr") = r("valorid")
Else
xvalor = Microsoft.VisualBasic.Left(tmpvalor, Len(tmpvalor) - 12)
xisin = Microsoft.VisualBasic.Right(tmpvalor, 12)
x = Microsoft.VisualBasic.Left(xisin, 1)
If x <> "1" And x <> "2" And x <> "3" And x <> "4" And x <> "5" And x <> "6" And x <> "7" And x <> "8" And x <> "9" And x <> "0" Then
newrow("Valorennr") = xvalor
newrow("IsinNr") = xisin
Else
newrow("Valorennr") = tmpvalor
End If
End If
Catch
newrow("Valorennr") = r("Valorid")
End Try
End Sub
End Class