I need 10M characters to paste in a textbox. From what I have read, System.int32 is possible, but for some reason, my code will do 4Million characters, but hangs at 4.1M characters which is around 2^22.
By hang, I mean it doesn't get to Page_Load(), nor btnPressed_Click(). Instead it just does nothing. I don't know how to figure out what it is doing......
I wish I had more, but I insist on paying $20 paypal for a solution.
Code attached. Thanks for reading and any leads!
I know its simple, I am too stupid to see it.
-Cellurl

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" validaterequest="false" %><%@ Register Src="header.ascx" TagName="header" TagPrefix="uc1" %><%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><link href="<%=Application("styleurl")%>" type="text/css" rel="stylesheet" /><script type="text/javascript" src="<%=Application("scripturl")%>"></script><style type="text/css">
.auto-style1 {
width: 544px;
}
#txtAreaInfo {
height: 116px;
}</style></head><body><form id="form1" runat="server"><asp:ScriptManager ID="ScriptManager1" runat="server" /><uc1:header ID="Header1" runat="server" /><div id="MainDiv" runat="server"><asp:updatepanel runat="server"><ContentTemplate><script type="text/JavaScript">registerEndRequest();</script> <table><tr><td><table width="300px"><tr><td><b>Uid</b></td><td class="auto-style1"><asp:TextBox ID="txtEntry1" runat="server" Width="243px" Style="margin-left: 0px" ReadOnly="true" Enabled="false" spellcheck="false" ToolTip="Teradata Username with two letter prefix"/></td></tr><tr><td><b>Pwd</b></td><td class="auto-style1"><asp:TextBox ID="txtEntry2" runat="server" TextMode="password" Width="243px" spellcheck="false" tooltip="Password on Teradata, probably same as LDAP..." /><asp:TextBox ID="txtpwd" runat="server" Visible="false" Width="243px" spellcheck="false" Readonly="true" enabled= "false" /></td></tr><tr><td><b>Table</b></td><td class="auto-style1"><asp:TextBox ID="txtEntry3" runat="server" Width="243px" spellcheck="false" ToolTip="Paste Excel only.. Control-A, Control-V."/></td> </tr><tr><td style="width: 80px"></td><td class="auto-style1"><asp:TextBox ID="txtEntry4" TextMode="multiline" runat="server" Width="240px" Height="141px" Style="margin-top: 0px" spellcheck="false" /></td></tr><tr><td style="width: 80px"></td><td class="auto-style1"><asp:Button ID="btnPressed" runat="server" CssClass="purplebutton" Width="246px" Text="Drop, Create and Load Table" ToolTip="Creates table in EDW" Height="25px" OnClientClick="javascript:showPopup('modalLoading');txtEntry5.value='';" /> </td></tr><tr><td style="width: 243px" valign="top"><b>Messages</b></td><td class="auto-style1"><asp:TextBox ID="txtEntry5" runat="server" Height="74px" Width="525px" TextMode="MultiLine" ToolTip="Teradata error messages" spellcheck="false" /></td></tr></table></td><td valign="top"><asp:TextBox ID="txtNotes" TextMode="multiline" runat="server" Width="240px" Height="232px" Style="margin-top: 0px" spellcheck="false" Visible="true" /></td></tr></table></ContentTemplate></asp:updatepanel> </div><asp:Panel ID="pnlPopup" runat="server" CssClass="progress" Style="display: none;"><div class="Progresscontainer"><div class="Progressheader">
Loading, please wait...</div><div class="Progressbody"><img id="loader" src="images/ajax-loader.gif" alt="" /></div></div><cc1:ModalPopupExtender ID="modalLoading" runat="server" TargetControlID="pnlPopup"
PopupControlID="pnlPopup" BackgroundCssClass="modalBackground"></cc1:ModalPopupExtender></asp:Panel></form></body></html>Option Strict On
Imports Teradata.Client.Provider
Imports System.Data
Imports System.Runtime.InteropServices.ComTypes
Imports Class1
Imports Oracle.ManagedDataAccess.Client
Partial Class _Default
Inherits MyPage
'Inherits System.Web.UI.Page
Dim sw1 As New swatch
Dim duration As String
Dim myutils As New PABSTControls.Utilities.UtilityService
Private Property da As Teradata.Client.Provider.TdDataAdapter
Private Property cb As TdCommandBuilder
Private Property dt As DataTable
Private Property td As TdCommand
Private Property cmd As TdCommand
Private Property insertCmd As TdCommand
Private Property p1 As TdParameter
Private Property ErrorMsg As Object
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.PreLoad
Beep()
End Sub
Protected Sub Page_PreRender(sender As Object, e As EventArgs) Handles Me.PreRender
Beep()
If Not Page.IsPostBack Then
'take a stab at converting ldap to teradata login like JP857723
Dim first_last As String = myUO.UserObject.ldapRecord.cn
Dim empnbr As String = myUO.UserObject.ldapRecord.employeenumber
Dim first_initial As Char = CChar(first_last.Substring(0, 1))
Dim lastname = first_last.Split(" "c)(1)
Dim last_initial = lastname.Substring(0, 1)
teradata_login = first_initial & last_initial & empnbr
Session("viewstate_teradata_login") = teradata_login
txtEntry1.Text = teradata_login '"JP123456"
txtEntry3.Text = "ceni_tmp"
txtEntry4.Text = "Paste" & vbTab & "Excel" & vbTab & "Here" & vbNewLine
txtEntry4.Text += "1" & vbTab & "2" & vbTab & "3"
txtNotes.Text = loadTxt(dbDSN, teradata_login)
End If
If Session("viewstate_pwd") IsNot Nothing AndAlso (Not Session("viewstate_pwd").ToString = "") AndAlso CStr(Session("viewstate_pwd")).Length > 0 Then
'txtEntry2.Text = ViewState("viewstate_pwd")
txtpwd.Visible = True
txtpwd.Text = "*********"
txtEntry2.Visible = False
End If
End Sub
Public Sub validate_user()
If Not (myUO.UserObject.isAuthenticated) Then
MainDiv.Visible = False
End If
End Sub
Protected Sub Page_LoadComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadComplete
validate_user()
End Sub
Dim nsuccess As Integer
Public Class TempIsZeroException : Inherits ApplicationException
Public Sub New(ByVal message As String)
MyBase.New(message)
End Sub
End Class
Protected Sub btnPressed_Click(sender As Object, e As EventArgs) Handles btnPressed.Click
sw1.start()
Dim data_source As String = txtEntry
Dim database As String = txtEntry0
Dim uid As String = txtEntry1.Text.ToString
Dim pwd As String = txtEntry2.Text.ToString
Dim table_name As String = ""
Dim input_file As String = txtEntry4.Text.ToString
Dim c As New Class1
Dim err As Boolean = False
Dim n As Integer
Dim lockedout As Boolean = False
Dim viewstate_lockedout As String = Nothing
Try
viewstate_lockedout = CStr(Session("viewstate_lockedout"))
Catch ex As Exception
End Try
If viewstate_lockedout = Nothing Then
Else
txtEntry5.Text = "Err: Ck your password. Relogin required."
GoTo fini
End If
Try
If pwd.Length < 1 Then
Dim viewstate_pwd As String = Nothing
Try
viewstate_pwd = CStr(Session("viewstate_pwd"))
Catch ex As Exception
End Try
If viewstate_pwd = Nothing Then
txtEntry2.Visible = True
txtpwd.Visible = False
Throw (New TempIsZeroException("Err: Ck password. Relogin required."))
End If
pwd = Session("viewstate_pwd").ToString
Else
End If
txtEntry5.Text = ""
'make table_name like JP857723_ceni_tmp
'make sure prefix doesn't get added twice to make JP857723JP857723_ceni_tmp
Dim teradata_login As String = Session("viewstate_teradata_login").ToString
Dim check As Boolean = txtEntry3.Text.Contains(teradata_login)
If check AndAlso txtEntry3.Text.IndexOf(teradata_login) = 0 Then
Else
txtEntry3.Text = txtEntry1.Text + "_" + txtEntry3.Text
End If
table_name = txtEntry3.Text.ToString
n = c.create_fill_table(data_source, database, uid, pwd, table_name, input_file)
duration = sw1.dsp_time("")
saveTxt(txtNotes.Text, teradata_login, dbDSN)
Catch ex As TempIsZeroException5
err = True
txtEntry5.Text = ex.ToString
Session("viewstate_lockedout") = "true"
Catch ex As TempIsZeroException4
err = True
txtEntry5.Text = ex.ToString
Session("viewstate_lockedout") = "true"
Catch ex As TempIsZeroException3
err = True
txtEntry5.Text = ex.ToString
Session("viewstate_lockedout") = "true"
Catch ex As TempIsZeroException2
err = True
txtEntry5.Text = ex.ToString
Session("viewstate_lockedout") = "true"
Catch ex As TempIsZeroException1
err = True
txtEntry5.Text = ex.ToString
Session("viewstate_lockedout") = "true"
Catch ex As TempIsZeroException
err = True
txtEntry5.Text = ex.ToString
Session("viewstate_lockedout") = "true"
Catch ex As Exception
err = True
txtEntry5.Text = ex.ToString
Session("viewstate_lockedout") = "true"
Finally
End Try
If Not err Then
txtEntry5.Text = "Success: Loaded" & Str(n) & " record" & IIf(n > 1, "s", "").ToString & " into table " & Environment.NewLine & "ui_results_db." & table_name
txtEntry5.Text += Environment.NewLine & duration
Session("viewstate_pwd") = pwd
Session("viewstate_lockedout") = Nothing
txtEntry2.ReadOnly = True
txtEntry2.Enabled = False
End If
fini:
modalLoading.Hide()
End Sub
Protected Sub btnPressed_PreRender(sender As Object, e As EventArgs) Handles btnPressed.PreRender
End Sub
Protected Shared Function loadTxt(ByVal dbDSN As String, ByVal uid_nbr As String) As String
Dim rdr As OracleDataReader = Nothing
Dim cmdOracle As OracleCommand = Nothing
Dim qry As String = ""
Dim retval As String = ""
Try
qry = "SELECT txtnotes "
qry += "FROM pax_ati where "
qry += " uid_nbr='" + uid_nbr + "'"
cmdOracle = connOracle.connection.CreateCommand
With cmdOracle
.CommandType = CommandType.Text
.CommandText = qry
End With
rdr = cmdOracle.ExecuteReader
If (rdr.HasRows) Then
While (rdr.Read)
If Not IsDBNull(rdr.Item("txtnotes")) Then retval = CStr(rdr.Item("txtnotes"))
End While
End If
Return retval
Catch ex As Exception
Throw New Exception("Error in " & System.Reflection.MethodInfo.GetCurrentMethod.Name & ex.Message, ex)
Finally
If connOracle IsNot Nothing Then connOracle.CleanupDB(cmdOracle, rdr, True)
End Try
End Function
Public Sub saveTxt(ByVal stuff As String, ByVal uid_nbr As String, ByVal dbDSN As String)
Dim rdr As OracleDataReader = Nothing
Dim cmdOracle As OracleCommand = Nothing
Dim qry As String = ""
Dim retval As String = ""
Try
qry = "update pax_ati set txtNotes= '" + stuff + "' where uid_nbr='" + uid_nbr + "'"
cmdOracle = connOracle.connection.CreateCommand
With cmdOracle
.CommandType = CommandType.Text
.CommandText = qry
End With
rdr = cmdOracle.ExecuteReader
Catch ex As Exception
Throw New Exception("Error in " & System.Reflection.MethodInfo.GetCurrentMethod.Name & ex.Message, ex)
Finally
If connOracle IsNot Nothing Then connOracle.CleanupDB(cmdOracle, rdr, True)
End Try
End Sub
End Class