Showing posts with label variable. Show all posts
Showing posts with label variable. Show all posts

Tuesday, March 27, 2012

Error reading variable

I keep receiving errors while using variables to pass values to different part of my package. For example ...

Error: 2006-05-04 10:31:59.84
Code: 0xC00470EA
Source: EdwPostProcess
Description: Reading the variable "User::GvPathRoot" failed with error code 0xC0010009.
End Error

The way my variables are constructed is :

First the global variables (Gv*) are set by the parent package; Then local variables (Lv*) are set using the EvaluateAsExpression property and giving it an expression that takes the Gv* variable and concatenate a string to it.

At execution time, while the expressions are resolved, I get the above error while it was resolved correctly in a previous task.

I tried different method including duplicating my variables but without success. I'm running out of ideas

Gilles

Sorry I don't have an answer. But just wanted to report a very similar problem I am having. I am also at my wits' end since the problem cannot be reproduced at will.

I am also passing variable from parent package to a child package. There is a loop in the parent package and in each iteration, the value of this variable changes. There are 9 iterations of the loop and so 9 different values of this variable. Most of the times all the loops are successful (particularly if the volume of data is less). If the volume of data processed by the child package is more then I sometimetimes get this error in the 5th or later iteration. I have changed the order of the values of the variable but looks like it does not matter - it fails at different values.

Ketan

|||

My variable was used in a script task and in expressions on other tasks. By re-arranging my tasks flow so the script task wouldn't be executed at the same time as another task with the same variable seem to have corrected the problem.

A variable used by a script task is lock in memory even when it is used for read only. So depending on how fast each task completes, it is possible that sometime we encounter the variable locked situation sometime not.

I found a way to eliminate the script task from my flow and everything is fine now.

Gilles

|||Another good technique to minimise locking is to reduce the scope of variables. You may end up with what seem like duplicates, by scoping variables to loops and containers or tasks, but this is more reliable than sharing variables when strictly speaking you never use the value outside of the lower scoped executable.

Error reading variable

I keep receiving errors while using variables to pass values to different part of my package. For example ...

Error: 2006-05-04 10:31:59.84
Code: 0xC00470EA
Source: EdwPostProcess
Description: Reading the variable "User::GvPathRoot" failed with error code 0xC0010009.
End Error

The way my variables are constructed is :

First the global variables (Gv*) are set by the parent package; Then local variables (Lv*) are set using the EvaluateAsExpression property and giving it an expression that takes the Gv* variable and concatenate a string to it.

At execution time, while the expressions are resolved, I get the above error while it was resolved correctly in a previous task.

I tried different method including duplicating my variables but without success. I'm running out of ideas

Gilles

Sorry I don't have an answer. But just wanted to report a very similar problem I am having. I am also at my wits' end since the problem cannot be reproduced at will.

I am also passing variable from parent package to a child package. There is a loop in the parent package and in each iteration, the value of this variable changes. There are 9 iterations of the loop and so 9 different values of this variable. Most of the times all the loops are successful (particularly if the volume of data is less). If the volume of data processed by the child package is more then I sometimetimes get this error in the 5th or later iteration. I have changed the order of the values of the variable but looks like it does not matter - it fails at different values.

Ketan

|||

My variable was used in a script task and in expressions on other tasks. By re-arranging my tasks flow so the script task wouldn't be executed at the same time as another task with the same variable seem to have corrected the problem.

A variable used by a script task is lock in memory even when it is used for read only. So depending on how fast each task completes, it is possible that sometime we encounter the variable locked situation sometime not.

I found a way to eliminate the script task from my flow and everything is fine now.

Gilles

|||Another good technique to minimise locking is to reduce the scope of variables. You may end up with what seem like duplicates, by scoping variables to loops and containers or tasks, but this is more reliable than sharing variables when strictly speaking you never use the value outside of the lower scoped executable.

Friday, March 23, 2012

Error on VB Sample which is delivered by installation.

Hi,

after i try to build the web application "Web Development - Data Entry Form" i get the following error message. I already change the variable username to system which is defined in Machine.Config.

The Error messega is like following:
SQL Server does not exist or access denied.
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: SQL Server does not exist or access denied.

Thanks,The username you see in machine.config is most likely not the username you want to provide in the connection string in your application. You need to provide a valid username and password for your SQL server. If you did not install the db server yourself, you should be able to get valid login info from the person who installed it.

If the db server is local, you might be able to get away with the following for your connection string: "server=localhost;TrustedConnection=true;database=YOUR_DB"

Wednesday, March 21, 2012

Error on generating report

I am using VS2003 and SQL Server 2000 with Reporting Services.

I try to generate the report but get an error "must declare the variable '@.qcode'

I check the file quotation.rdl and i found it should have declared... it's like

</PageFooter>
<ReportParameters>
<ReportParameter Name="qcode">
<DataType>String</DataType>
<Nullable>true</Nullable>
<DefaultValue>
<DataSetReference>
<DataSetName>DS_quot_code</DataSetName>
<ValueField>quot_code</ValueField>
</DataSetReference>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>Quotation Code:</Prompt>
<ValidValues>
<DataSetReference>
<DataSetName>DS_quot_code</DataSetName>
<ValueField>quot_code</ValueField>
<LabelField>quot_code</LabelField>
</DataSetReference>
</ValidValues>
</ReportParameter>

I would like to know what trigger the problem and what shall i do so as to solve it?

Thank you.

This sounds for me like a SQL Exception not a Reporting Services error. Can you run the command which is specified as the dataset command separately, or does it come up with the same error (I guess this is the case)

HTH; Jens K. Suessmeyer.

http://www.sqlserver2005.de|||

Thank you for your answer.

Does you mean that the problem comes from the SQL query stated in the rdl file?

|||Exactly.

Wednesday, March 7, 2012

Error Message: Must declare variable @ID

I'm having trouble with a datalist. The default view is the Item Template which has an Edit button. When I click the Edit button, I run the following code (for the EditCommand of the Datalist):

DataList1.EditItemIndex = e.Item.ItemIndex

DataBind()

It errors out with the message "Must declare variable @.ID".

I've used this process on other pages without problem.

The primary key for the recordsource that populates this datalist is a field named "AutoID". There is another field named ID that ties these records to a master table. The list of rows returned in the datalist is based off the ID field matching a value in a dropdown list on the page (outside of the datalist). So my SQLdatasource has a parameter to match the ID field to @.ID. For some reason, it's not finding it and I cannot determine why. I haven't had this issue on other pages.

Here's my markup of the SQLDataSource and the Datalist/Edit Template:

<asp:SqlDataSourceID="SqlDataSource4"runat="server"ConnectionString="<%$ ConnectionStrings:SMARTConnectionString%>"

DeleteCommand="DELETE FROM [tblSalesSupport] WHERE [NBID] = @.NBID"

InsertCommand="INSERT INTO [tblSalesSupport] ([ID], [NBNC], [NBEC], [Description], [Estimate], [CompanyID], [CompanyName], [ProjectNumber]) VALUES (@.ID, @.NBNC, @.NBEC, @.Description, @.Estimate, @.CompanyID, @.CompanyName, @.ProjectNumber)"

SelectCommand="SELECT * FROM [tblSalesSupport] WHERE ([ID] = @.ID)"

UpdateCommand="UPDATE [tblSalesSupport] SET [ID] = @.ID, [NBNC] = @.NBNC, [NBEC] = @.NBEC, [Description] = @.Description, [Estimate] = @.Estimate, [CompanyID] = @.CompanyID, [CompanyName] = @.CompanyName, [ProjectNumber] = @.ProjectNumber WHERE [NBID] = @.NBID">

<DeleteParameters>

<asp:ParameterName="NBID"Type="Int32"/>

</DeleteParameters>

<UpdateParameters>

<asp:ParameterName="ID"Type="Int32"/>

<asp:ParameterName="NBNC"Type="Boolean"/>

<asp:ParameterName="NBEC"Type="Boolean"/>

<asp:ParameterName="Description"Type="String"/>

<asp:ParameterName="Estimate"Type="Decimal"/>

<asp:ParameterName="CompanyID"Type="Int32"/>

<asp:ParameterName="CompanyName"Type="String"/>

<asp:ParameterName="ProjectNumber"Type="String"/>

<asp:ParameterName="NBID"Type="Int32"/>

</UpdateParameters>

<SelectParameters>

<asp:ControlParameterControlID="ddlFind"Name="ID"PropertyName="SelectedValue"Type="Int32"/>

</SelectParameters>

<InsertParameters>

<asp:ParameterName="ID"Type="Int32"/>

<asp:ParameterName="NBNC"Type="Boolean"/>

<asp:ParameterName="NBEC"Type="Boolean"/>

<asp:ParameterName="Description"Type="String"/>

<asp:ParameterName="Estimate"Type="Decimal"/>

<asp:ParameterName="CompanyID"Type="Int32"/>

<asp:ParameterName="CompanyName"Type="String"/>

<asp:ParameterName="ProjectNumber"Type="String"/>

</InsertParameters>

</asp:SqlDataSource>

<asp:DataListCssClass="MainFormDisplay"ID="DataList1"runat="server"DataKeyField="NBID"DataSourceID="SqlDataSource1"width="100%">

<HeaderTemplate>….</HeaderTemplate>

<ItemTemplate>….</ItemTemplate>

<EditItemTemplate>

<tableborder="0" style="width: 100%">

<trclass="MainFormDisplay" valign="top">

<tdcolspan="8">

<asp:TextBoxID="txtNBID"runat="server"Text='<%# Eval("NBID")%>'Visible="true"></asp:TextBox>

<asp:TextBoxID="txtID"runat="server"Text='<%# Bind("ID")%>'Visible="True"></asp:TextBox></td>

</tr>

<trclass="MainFormDisplay">

<tdvalign="top"style="width: 100px"><asp:CheckboxID="chkNBNC"runat="server"Checked='<%# Bind("NBNC")%>'/></td>

<tdstyle="width: 100"><asp:CheckBoxID="chkNBEC"runat="server"Checked='<%# Bind("NBEC")%>'Width="100px"/></td>

<tdstyle="width: 100px"><asp:TextBoxID="txtCompanyName"runat="server"Text='<%# Bind("CompanyName")%>'Width="100px"></asp:TextBox></td>

<tdstyle="width: 100px"><asp:TextBoxID="txtProjectNumber"runat="server"Text='<%# Bind("ProjectNumber")%>'Width="100px"></asp:TextBox></td>

<tdstyle="width: 100px"><asp:TextBoxID="txtDescription"runat="server"Text='<%# Bind("Description")%>'Width="100px"></asp:TextBox></td>

<tdstyle="width: 100px"><asp:TextBoxID="txtEstimate"runat="server"Text='<%# Bind("Estimate","{0:N2}")%>'Width="100px"></asp:TextBox></td>

<tdstyle="width: 55px"><asp:CheckBoxID="ckDeleteFlag"runat="server"/></td>

<tdstyle="width: 100px"><asp:ButtonID="ItemSaveButton"runat="server"CommandName="Update"Text="Save"/>

<asp:ButtonID="ItemCancelButton"runat="server"CommandName="Cancel"Text="Cancel"/></td>

</tr>

</table>

</EditItemTemplate>

</asp:DataList><br/>

You need to replace

<asp:ParameterName="ID"Type="Int32"/>

in your UpdateParameters with

<asp:ControlParameterControlID="ddlFind"Name="ID"PropertyName="SelectedValue"Type="Int32"/>

|||

Thank you very much for your reply. I have tried this though and I still get the same error.

I believe it's because it's not running the UpdateCommand at all at this point. When I click the Edit button, it simply flips it from ItemTemplate to EditTemplate, passing the index of the row that the user click on so that while in EditTemplate mode, the user can make changes to data, click save and update. The code that runs when the Edit button is clicked is the following: (This

Protected Sub DataList1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.EditCommand
DataList1.EditItemIndex = e.Item.ItemIndex
DataBind()
End Sub