at
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS
dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior,
Object& executeResult)
at
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior
behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
at
Home_Party_Solutions.PartyDBaseAccess.getCustomerID(Customer cust) in
C:Documents and SettingsAndrew Buis.HALMy DocumentsVisual Studio
2005ProjectsTrunkPartyDBaseAccess.vb:line 138
at
Home_Party_Solutions.Customer.getCustomerID(IPartyDBase& p_dbase)
in C:Documents and SettingsAndrew Buis.HALMy DocumentsVisual Studio
2005ProjectsTrunkCustomer.vb:line 212
at
Home_Party_Solutions.PartyOrder.Done_Click(Object sender, EventArgs e)
in C:Documents and SettingsAndrew Buis.HALMy DocumentsVisual Studio
2005ProjectsTrunkPartyOrder.vb:line 150
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at
System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at
System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32
msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at
System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32
dwComponentID, Int32 reason, Int32 pvLoopData)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32
reason, ApplicationContext context)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(ApplicationContext context)
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
at
Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
at
Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[]
commandLine)
at
Home_Party_Solutions.My.MyApplication.Main(String[] Args) in
17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
Basically I am inserting a row into a table. The sql line looks like :
When I copy and paste the command into Access, it successfully adds the
row into the table. However, I am getting that error when I run
it in my program. I create the string, then this is the code I am
using :
command = New OleDbCommand
command = m_Connection.CreateCommand()
command.CommandText = tempString
Dim tempInt As Integer = -1
tempInt = command.ExecuteNonQuery()
At the last line, I get the overflow.
Just for clarification, the values are (Cust ID as long, firstName as
text, lastName as text, Street as text, City as text, State as text,
Zip as long, email as text, phone as double).
Any insights into the problem? The error message isnt all that insightful.
When a user finally confirms his order in a shopping cart application (using MS-Access as the backend), the items he has purchased are populated in a Access DB table named Orders & his personal details (like name, mail, billing address, shipping address etc.) are populated in another table named CustDetails. Both the DB tables have a column named OrderID. This column is the Primary Key in the CustDetails table & the Foreign Key in the Orders table. The Session.SessionID becomes the unique OrderID.After confirming an order, if the user refreshes the page, the app will try to populate the same Session.SessionID in the CustDetails table but since the column OrderID is a Primary Key column in the table CustDetails, it won't accept duplicate OrderIDs. Under such circumstances, an OleDbException will be raised.Since a DB app can throw other OleDbExceptions other than the one about which I mentioned above, I want to display custom error messages to the user. For e.g. if he refreshes the page after confirming his order, I want to display a message saying "Your order has already been placed".To do this, I tried using the ErrorCode property of the OleDbException class but what I found is the ErrorCode changes from time to time! Had a particular ErrorCode been assigned to the error, I could have done something like this (assuming that the ErrorCode for the above error is -12345 which is constant):Try 'some codeCatch ex As OleDbException If (ex.ErrorCode = -12345) Then Response.Write("Your order has already been placed") ElseIf (ex.ErrorCode = <some other constant ErrorCode>) Then Response.Write("Another custom error message") End IfEnd TryBut I can't do the above since the ErrorCode changes from time to time.So how do I display custom error messages to users under such circumstances?Of course, I can use the Message property of the OleDbException class but that would be a rather tedious workaround.
Hi, I got the error A first chance exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll The thread 0x3a24 has exited with code 0 (0x0). Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.OleDb.OleDbException: Unrecognized database format 'C:inetpubwwwrootExcelData.xlsx'.The file exists at that location . i tried this solution. I tried to change permissions but it was not saving it. To resolve this problem, enable read/write permissions for the impersonated user account in the Temp folder. To do this, follow these steps:
1. In Windows Explorer, locate the following folder: Document settingsServerNameASPNETLocal settingsTemp
I try to use sqlDataSource to gather the input for GrideView. The SELECT statement can run on SQL SEVER 2005, but can't get response when it is running on Visual Web Developer 2005 Express. The error message is : Server Error in '/WebSite1' Application. I think it was due to "GROUP BY" . Could anyone please tell me how to fix it?? Thanks!! Stack Trace: [OleDbException (0x80040e31): timeout expired ] System.Data.OleDb.OleDbDataReader.ProcessResults(OleDbHResult hr) +81 System.Data.OleDb.OleDbDataReader.NextResult() +427 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +351 System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) +122 System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +29 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +183 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +307 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +152 System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +2868 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +84 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +154 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +99 System.Web.UI.WebControls.GridView.DataBind() +24 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +92 System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +100 System.Web.UI.Control.EnsureChildControls() +134 System.Web.UI.Control.PreRenderRecursiveInternal() +109 System.Web.UI.Control.PreRenderRecursiveInternal() +233 System.Web.UI.Control.PreRenderRecursiveInternal() +233 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4435
Can someone help me with this error, so the page can show the rocords, its works on my PC but not at my host. I get this error: Exception Details: System.Data.OleDb.OleDbException: No value given for one or more required parameters.Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace:
I am actually following exactly the example given in Karl Moore€™s €˜The Ultimate VB.net and ASP.net Code Book€™, ISBN 1-59059-106-2, Chapter 4, pp 141€¦
I am using VB.Net 2002 and create a Web Form, placing on it a Data Adapter, Connector and Dataset and link this to a Data Grid. The database is a quite large (150 Mb) Access 97 db that is shared over a network and the Provider is a Microsoft.Jet.OLEDB.4.0 connection. While in designer mode I can create the Dataset and even preview the data itself from the menu. When I run the project, the Web Form displays, connects to the Site (via IIS 5.1) but then the following error text is thrown all over the form:
Server Error in '/WebApplication3' Application.
Disk or network error. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: Disk or network error.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET Version:1.1.4322.2032
I have read and implemented the articles in the KB about setting up System TEMP variables and changing their rights and also setting up the ODBC key in the registry but these make no difference however I change them. I have also tried copying the database to the local machine, again to no avail.
The versions of the system I am using are:
Microsoft Visual Basic .NET 55524-640-5065381-18871 Microsoft Visual Studio .NET 2002 Service Pack 1 (KB837234) Microsoft Developer Environment 2002 7.0.9955
I have no idea why what should be a very simple thing just fails so catastrophically. I am tempted to move to VB 2005 but if anyone can shed light on the problem I should be most grateful.
Many thanks for your time and Energy. Jim McGoldrick
Dear All, I have a page on the web site that will upload a CVS fiile. Then, it will read the file, and insert the data to the sql database. (around 14,000 records) I'm not sure why, it seems like whenever we do the upload/insertion for the first time, it will always return this timeout error. System.Web.HttpUnhandledException: Exception of type System.Web.HttpUnhandledException was thrown. ---> System.Data.OleDb.OleDbException: Timeout expired After I got this error, and do the upload again. Then the upload will work fine. So I wonder is it when I got the timeout error, will the SQL server clean up its used resources or something, so my function will work the next time? Or any recommendation on this issue? Thank you very much.
I've tried everything I can think of to fix this. I know the database and table both exist and are referenced correctly, yet ASP.NET and SQL Query Analyzer tell me that the 'donations' object is invalid.You can see the full error at: {link removed}Just hit Continue without entering anything and you'll see the error.Thanks for you help.
Hi All I'm having a bit of trouble with an sql statement being inserted into a database - here is the statement: string sql1; sql1 = "INSERT into Customer (Title, FirstName, FamilyName, Number, Road, Town,"; sql1 += " Postcode, Phone, DateOfBirth, email, PaymentAcctNo)"; sql1 += " VALUES ("; sql1 += "'" + TxtTitle.Text + "'," ; sql1 += "'" + TxtForename.Text + "'," ; sql1 += "'" + TxtSurname.Text + "'," ; sql1 += "'" + TxtHouseNo.Text + "',"; sql1 += "'" + TxtRoad.Text + "',"; sql1 += "'" + TxtTown.Text + "',"; sql1 += "'" + TxtPostcode.Text + "',"; sql1 += "'" + TxtPhone.Text + "',"; sql1 += "'" + TxtDob.Text + "',"; sql1 += "'" + TxtEmail.Text + "',"; sql1 += "'" + TxtPayAcc.Text + "')"; Which generates a statement like:INSERT into Customer (Title, FirstName, FamilyName, Number, Road, Town, Postcode, Phone, DateOfBirth, email, PaymentAcctNo) VALUES ('Mr','Test','Test','129','Test Road','Plymouth','PL5 1LL','07855786111','14/04/1930','mr@test.com','123456') I cannot for the life of me figure out what is wrong with this statement. I've ensured all the fields within the database have no validation (this is done within my ASP code) that would stop this statement being inserted. Line 158: dbCommand.Connection = conn;Line 159: conn.Open();Line 160: dbCommand.ExecuteNonQuery();Is the line that brings up the error - I presume this could be either an error in the statement or maybe some settings on the Database stopping the values being added. Any ideas which of this might be ? I'm not looking for someone to solve this for me, just a push in the right direction! Thanks!
I've seen a few comments on this error and they've all been basically "You're passing a bad date time". I don't think that's what's happening in my case though. I'm trying to write a record to my SQL database using a business logic layer class that writes the record with a stored procedure. Here's the codebehind on the page: Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) 'Create New User UsersBLL.NewUser(txtFirstName.Text, _ txtLastName.Text, _ txtPhone1.Text, _ ddlOffice.SelectedIndex, _ lblManager.Text, _ lblManagerAlt.Text, _ txtDepartment.Text, _ cbxNewPosition.Checked, _ cbxContractor.Checked, _ Calendar1.SelectedDate.ToString, _ txtJobTitle.Text, _ ddlFunctionCodes.SelectedIndex)
End Sub Here's the BLL function that I'm calling: Public Shared Function NewUser(ByVal UsersNameFirst As String, _ ByVal UsersNameLast As String, _ ByVal UsersPhone1 As String, _ ByVal OfficesID As Int32, _ ByVal UsersID_Manager As Int32, _ ByVal UsersID_ManagerAlt As Int32, _ ByVal UsersDepartment As String, _ ByVal UsersNewPosition As Boolean, _ ByVal UsersContractor As Boolean, _ ByVal UsersStartDate As DateTime, _ ByVal UsersJobTitle As String, _ ByVal FunctionCodesID As Int32, _ Optional ByVal UsersGSN As String = Nothing, _ Optional ByVal UsersEmail As String = Nothing, _ Optional ByVal UsersNameMiddle As String = Nothing, _ Optional ByVal UsersKnownAs As String = Nothing, _ Optional ByVal UsersPhone2 As String = Nothing, _ Optional ByVal UsersPhoneMobile1 As String = Nothing, _ Optional ByVal UsersPhoneMobile2 As String = Nothing, _ Optional ByVal UsersSSN As String = Nothing, _ Optional ByVal UsersContractType As String = Nothing, _ Optional ByVal UsersContractAgency As String = Nothing, _ Optional ByVal UsersEndDate As DateTime = Nothing, _ Optional ByVal UsersCompanyCode As String = Nothing, _ Optional ByVal UsersCostCenter As String = Nothing, _ Optional ByVal UsersRole As String = Nothing, _ Optional ByVal StatusesID As Int32 = Nothing) Dim dbConnection As SqlConnection, Command As SqlCommand dbConnection = New SqlConnection(DBConnectionString) dbConnection.Open() Command = New SqlCommand("EXECUTE NewUser", dbConnection) Command.Connection = dbConnection Command.CommandText = "NewUser" Command.CommandType = Data.CommandType.StoredProcedure Command.Parameters.Add(New SqlParameter("@UsersNameFirst", UsersNameFirst)) Command.Parameters.Add(New SqlParameter("@UsersNameLast", UsersNameLast)) Command.Parameters.Add(New SqlParameter("@UsersPhone1", UsersPhone1)) Command.Parameters.Add(New SqlParameter("@OfficesID", OfficesID)) Command.Parameters.Add(New SqlParameter("@UsersID_Manager", UsersID_Manager)) Command.Parameters.Add(New SqlParameter("@UsersID_ManagerAlt", UsersID_ManagerAlt)) Command.Parameters.Add(New SqlParameter("@UsersNewPosition", UsersNewPosition)) Command.Parameters.Add(New SqlParameter("@UsersContractor", UsersContractor)) Command.Parameters.Add(New SqlParameter("@UsersStartDate", UsersStartDate)) Command.Parameters.Add(New SqlParameter("@UsersJobTitle", UsersJobTitle)) Command.Parameters.Add(New SqlParameter("@FunctionCodesID", FunctionCodesID)) Command.Parameters.Add(New SqlParameter("@UsersGSN", UsersGSN)) Command.Parameters.Add(New SqlParameter("@UsersEmail", UsersEmail)) Command.Parameters.Add(New SqlParameter("@UsersNameMiddle", UsersNameMiddle)) Command.Parameters.Add(New SqlParameter("@UsersKnownAs", UsersKnownAs)) Command.Parameters.Add(New SqlParameter("@UsersPhone2", UsersPhone2)) Command.Parameters.Add(New SqlParameter("@UsersPhoneMobile1", UsersPhoneMobile1)) Command.Parameters.Add(New SqlParameter("@UsersPhoneMobile2", UsersPhoneMobile2)) Command.Parameters.Add(New SqlParameter("@UsersSSN", UsersSSN)) Command.Parameters.Add(New SqlParameter("@UsersContractType", UsersContractType)) Command.Parameters.Add(New SqlParameter("@UsersContractAgency", UsersContractAgency)) Command.Parameters.Add(New SqlParameter("@UsersEndDate", UsersEndDate)) Command.Parameters.Add(New SqlParameter("@UsersCompanyCode", UsersCompanyCode)) Command.Parameters.Add(New SqlParameter("@UsersCostCenter", UsersCostCenter)) Command.Parameters.Add(New SqlParameter("@UsersCostCenter", UsersCostCenter)) Command.Parameters.Add(New SqlParameter("@UsersRole", UsersRole)) Command.Parameters.Add(New SqlParameter("@StatusesID", StatusesID)) Return Command.ExecuteScalar() dbConnection.Close()
Seems about as simple as it can get to me. UsersStartDate is a datetime (which I'm picking from a calendar control on the web page) and it's passing (for example) "08/01/2007 12:00:00 AM". I've debugged and that's the value being passed. Now when I go to my DB and write a simple insert query and insert exactly that date, it works fine. Maybe my development machine date settings are changing it somehow before it sends to the DB? Also I'm pretty sure there's a lot of redundant passing of all those vars but I'm brand new to tiered apps and just learning. If there's a simpler way, feel free to enlighten me. :)
Hi All, Please help!!! I've looked all over the place and tried all the solutions that worked for others. I just want to insert a Null value to a DateTime field in my SQL db! I am calling dv_ItemInserting on ItemInserting of my FormView. I tried using a stored procedure to fix this problem SET @opDate = NullIf(@opDate, NULL). I am still getting the same error. Please forward any info you have. Thanks!!! ---------------------------------------------- Error: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM. Protected Sub dv_ItemInserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewInsertEventArgs) If e.Values.Item("opDate").Equals(Nothing) OrElse e.Values.Item("opDate").Equals(DateTime.MinValue) Then'Tried the followings and they do not work !!! 'SqlDataSource1.InsertParameters("opDate").DefaultValue = System.DBNull.Value 'e.Values.Item("opDate") = System.Data.SqlTypes.SqlDateTime.Null.Value end if End sub
I've got a comma delimited text file that I am bringing into a table with DTS. The time values in this text file come in as 4 character fields like "0948", "2359", and "1325".
What I'm trying to do is import these values into a field with a type of SMALLDATETIME, by assigning the field as follows...
This doesn't work -- I get an overflow error. If I change the field type to DATETIME it works. I'm confused! What am I doing wrong? I'm not trying to include seconds, so why am I getting an overflow error?
I'm having a problem importing a text file into a SQL db using DTS. I have to transform some of the data that is being imported so I think Bulk import is out of the question.
Everything works fine until a hit a row that contains more than 255 characters in one cell. Once it encounters that row, it fires this error:
"Error at source for row number 9.Errors encountered so far in this task :1 General Error: -2147217887(80040E21) Data for Source Column 3('Col3') is too large for the specified buffer size."
I found a entry in the MS KnowledgeBase that addresses the symptom but the workaround doesn't fix it:
I have a field of type numeric(5) in a SQL 7.0table that I'm trying to assign the value -100. I get an 8115 error. Does anybody know where I can find out what the possible values I can put into this field.
I am trying to get a value from a select-query that is of the datatype int. The code below will not, I think it is because I mix up datetime with int conversion. Anyway, I am not really sure how to subtract
We run a regular query through Excel that is linked to a Microsoft SQL Server data source.
We have run this query routinely for the past few years. Suddenly this query has started returning an error message - “[Microsoft][ODBC SQL Server Driver] [SQL Server] Difference of two datetime columns caused overflow at runtime�. It seems to be a common error (as per Google search) however I don’t want to go messing around with something I don’t fully understand. Can anyone point me in the direction of what to look out for?
On Thu, 13 Oct 2005 19:35:16 GMT, Mike wrote:[color=blue]>I have the SQL table column PRICE set for decimal (14,14).[/color]Hi Mike,That means that you have a total of 14 digits, 14 of which are to theright of the decimal. Leaving no digits to the left.[color=blue]>Any one know why I would get an overflow error.[/color]Probably because there's a value above 1.000 or below -1.000 in yourdata.Best, Hugo--(Remove _NO_ and _SPAM_ to get my e-mail address)
I would like to know if we can define an unsigned integer data type in SQL Server 2005. We have a situation where one of the integer columns will reach its 2 billion limit. I want to know if there's any way in which I can extend this to say 4 billion by making the data type unsigned or any other way which doesn't require me to change the data type to bigint.
I am trying to pump data from Sybase to SQL Server using SSIS and I get this error:
Conversion failed because the data overflowed the specified type
The data on the external column metadata shows as type database timestamp, as does the output column. The database values are all datetime, coming in through OLEDB to Sybase. Any idea what could be going on here?
hi, can someone please tell me what this error is, i am trying to create a quiz engine but i keep getting this error when i try to save the results of me quiz in the results page. i have been following the tutorial from this website. Please can someone help me, thanks
Arithmetic overflow error converting expression to data type smalldatetime.The statement has been terminated. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: Arithmetic overflow error converting expression to data type smalldatetime.The statement has been terminated.Source Error:
Line 46: userQuizDataSource.InsertParameters.Add("UserName", User.Identity.Name) Line 47: Line 48: Dim rowsAffected As Integer = userQuizDataSource.Insert() Line 49: If rowsAffected = 0 Then Line 50: ' Let's just notify that the insertion didn't
SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
This is my Query :
SELECT break_time, break_rep_no, break_type, break_user_id FROM breaks WHERE (break_date = @p1) AND (break_group = @p2) AND (break_time > @p3) AND (break_time < @P4) ORDER BY break_time
This is not a real big deal, cause I worked around it.. but I just tried to INCREASE the scale on a decimal column & got an arithmatic overflow error. I can understand why this would occur if trying to decrease the scale, but not increasing it. This is not a computed column.. why does SQL give an overflow error if all it has to do is add a couple of zeros to the end? Yes, I know SQL considers them to be different data types, but this is still confusing me.
Server: Msg 8115, Level 16, State 2, Procedure kssp_UpdateLeague, Line 107 Arithmetic overflow error converting expression to data type tinyint.
When I hit the following code:
SET @A = @B - @C
-------------------------------------------
@A is defined as : DECLARE @A INT
@B and @C are populated in a fetch : FETCH NEXT FROM FixtureList INTO @B, @C
and FixtureList is defined as :
DECLARE FixtureList CURSOR FOR SELECT HomeScore, AwayScore FROM fixtures WHERE homescore IS NOT NULL AND awayscore IS NOT NULL
The fields HomeScore and AwayScore are defined as Tinyint
@B and @C are typically between 0 and 10. I reckon the problem may be with the precision of the data types but I don't know how to prove this or how to fix. I've tried various combinations of convert and cast at various points in the expression (SET @A = @B - @C) but to no avail.
Interestingly (or not) if I run the following select I get the same error :
SELECT DATE01, HOMESCORE, AWAYSCORE, HOMESCORE - AWAYSCORE FROM fixtures
I have a situation where a user is multiplying 2 integers that result in a value that exceeds 2,147,483,648 which is the maximum number that type int can store. This calculation results in an arithmetic overflow. However, if I convert the operands to a type numeric or bigint then the result works. Is there a way for SQL2000 to multiply to integers and automatically convert the result into a bigint if the result exceeds the type int maximum? It does not make sense to do conversions for every row or change the data type to big int in the table because the operand values which come from a table are within the integer range. Any Suggestions? See example sql below:
** completes successfully - result within integer range
select result = 1211*1773208
** results in arithmetic overflow
select result = 1212*1773208
** completes successfully if one operand is bigint or numeric
Server: Msg 8115, Level 16, State 6, Line 1 Arithmetic overflow error converting nvarchar to data type numeric. The statement has been terminated.
The stupid thing is, that there is no data conversion at all. It's an insert into SLQ server table where data is retrieved from an Oracle View (using ADO DB link). I got 4 other SP's, doing the same thing for resp 4 other tables, which works fine. Those :mad: SP won't work. I don't know why. Below I put the table structure, view structure and SP I used:
Oracele view: CONTRACT_NO VARCHAR2(20) AGC VARCHAR2(4) SALESGROUP VARCHAR2(4) GROUP_ VARCHAR2(8) ACTIVITY_TYPE VARCHAR2(4) TYPE CHAR(1) GROUP_DESCRIPTION VARCHAR2(50) STOCK_UM VARCHAR2(4) B_QTY NUMBER B_COST NUMBER C_QTY NUMBER C_COST NUMBER D_QTY NUMBER D_COST NUMBER
Stored procedure: CREATE PROCEDURE mis_Upload_Contract_Kosten @strType varchar(10), @strDate varchar(19) AS declare @strInsert as varchar(1000); declare @strSelect as varchar(1000); declare @strWhere as varchar(1000); declare @strSql as varchar(3019);
I can not get this expression to NOT return a null value... I don't know why, anyone got any ideas?
IIF(((SELECT IIF(Sum(Game_Schedule.Score) IS NULL, 0, Sum(Game_Schedule.Score)) FROM Game_Schedule WHERE Game_Schedule.T1_ID = standings.ID) + (SELECT IIF(Sum(Game_Schedule.Opp_Score) IS NULL, 0, Sum(Game_Schedule.Opp_Score)) FROM Game_Schedule WHERE Game_Schedule.T2_ID = standings.ID)) / (SELECT Count(ID) FROM Game_Schedule WHERE (Game_Schedule.T1_ID = standings.ID OR Game_Schedule.T2_ID = standings.ID) AND (Win=true OR Loss=true OR Tie=true)) IS NULL, 0, ((SELECT IIF(Sum(Game_Schedule.Score) IS NULL, 0, Sum(Game_Schedule.Score)) FROM Game_Schedule WHERE Game_Schedule.T1_ID = standings.ID) + (SELECT IIF(Sum(Game_Schedule.Opp_Score) IS NULL, 0, Sum(Game_Schedule.Opp_Score)) FROM Game_Schedule WHERE Game_Schedule.T2_ID = standings.ID)) / (SELECT Count(ID) FROM Game_Schedule WHERE (Game_Schedule.T1_ID = standings.ID OR Game_Schedule.T2_ID = standings.ID) AND (Win=true OR Loss=true OR Tie=true))) AS FixedItGPG