DataSource Controls :: How To Process A Cube
Feb 8, 2010how to write code in asp.net c# on how to process a cube?
View 1 Replieshow to write code in asp.net c# on how to process a cube?
View 1 RepliesWe have a SQL agent job tied to an SSIS package that process does an Update process on the dimensions and a full process on the Facts. In the morning the cube is showing that it is processed but the new data is not present. When it is manually run the SSIS package, it seems to work fine. Basically there is job having two steps, one is to update the BI Cube and next step is to update dimensions and facts. This jobs runs perfectly without any error, but first step executes as per the expectation and second fails to update with latest data. If we try to manually run the SSIS Package of the second step it perfectly updates with the latest data.
View 2 RepliesTo use: System.Data.Oledb or ADOMD.NET .NET provides connection pooling by default. Can it acheived in ADOMD.NET?
View 4 RepliesI am able to dynamily bind my grid to the cube based off the facillity I have selected. Now, if a facility has multiple cubes, I want the users to switch between the two cubes dynamicly, so I have created a drop down list showing their cubes and the ones that they can select. Currently I'm been trying several things in order to "rebind" the data but they don't seem to be working, so I figured I would attach my code to see if anyone Had a good idea.
If I make the cube change then switch back over to change facility and then back to the page, the new cube will load. So I have to find a way to do it in the one step rather then have them navigate to another page and then back again. Perhaps auto navigate them to a page and have that page send them back etc... Anyway here is the code: I first bind the data via the page_prerender call
[Code]....
Then the code drops down into the LoadCube(FacilityID) sub routine
[Code]....
Then here is the setup for the subroutine that will call the page load/ should change the cube to the correct cube.
[Code]....
i have a method that do bunch of inserts in a table
these inserts done through a transaction (with default isolation level)
meanwhile i need to read some committed records from this table by using another method, i create another transaction for 2th method with a ReadCommitted isolation level but it just fails and return a timeout error and also, the DoTransaction cause the entire table inaccessible, how could i apply a row-level lock ?
[Code]....
how to present a .cube created in BI Development Studio as part of a .aspx page? Windows Server 2008 hosting the site using IIS 7. The SQL server and the management studio and the BI Development Studio used to create the .cube are on the same windows server. Am using Visual Studio 2010 Premium to develop for .NET Framework Verison 4. Using an impersonation account to control access to the db.
View 1 RepliesHere is what I need to do:
- SELECT from a table
- Do something to the data after the SELECT but before anything else
- let the controls that are bound to my data see it.
I've already got working code to Undo my something when Updating or Inserting
These are the requirements:
- use a plain-jane SqlDataSource to do the SELECT
- doing the something has to take place at the SqlDataSource, not in events of the databound controls.
From the MS site the SqlDataSource.Selected event is where I should do "post-processing" however I can't find any examples of doing so.
[URL]
Would like to present a .cube built in SSAS in an aspx page. Using Visual Studio 2010 for development. SQL Server and MS Analysis Server are running on remote 2008 server. I'm new to aspx and .net, can someone get me started?
View 1 RepliesI had created a cube in SSAS. After creation my data in Fact table is updated. Now my cube still shows old data. How to refresh data in a cube automatically
View 1 RepliesWe are trying to design a selection tool for hierarchical dimension (e.g. org-dept-subdept) in order to query SSAS cube. When user clicks a dropdownlist, a tree view will pop out for user to select single or multi tree nodes. Ideally it would be like the dropdown box used in Excel pivot table when it is connecting to a SSAS cube.
View 1 RepliesI need to dynamically add/remove dimensions and facts in web application and get results from SSAS. The cube in SSAS is defined and ready to use. So far the best idea I found is use MDX queries to get metadata from SSAS cube and display those data in web page. Then user can choose needed dimensions/facts and I need to costruct dynamic MDX query and get results from SSAS. Communication with SSAS is made with AdomdDataReader. Is there better options to solve this task that require less effor? Maybe somehow make use of Reporting Services (SSRS).
View 1 RepliesI've written a aspx.net(C#) page that after the user has done what they do on the page they hit a Submit button. The Submit button
1) takes the work the users was producing on the page and writes it to a file.
2) attempts to execute a batch file.
The call to the batch file is executed via:
protected void Execute123EDI()
{
try
{
string File = @"c:80sAdminSendV80s.bat";
lblCancelled.Text = lblCancelled.Text + File;
Process proc = new System.Diagnostics.Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.LoadUserProfile = false;
proc.StartInfo.UserName = "administrator";
proc.StartInfo.RedirectStandardOutput = true;
System.Security.SecureString secPass = new System.Security.SecureString();
string paswd = "123abc";
for (int i = 0; i < paswd.Length; i++)
{
secPass.AppendChar(paswd[i]);
}
proc.StartInfo.Password = secPass;
proc.StartInfo.FileName = File;
proc.Start();
FileStream fs = new FileStream(@"c:80sAdminSendV80sOutput.log", FileMode.Append);
StreamWriter sw = new StreamWriter(fs);
sw.Write(proc.StandardOutput.ReadToEnd());
proc.WaitForExit();
sw.Close();
proc.Close();
}
catch(Exception ex)
{
lblDebug.Text = lblDebug.Text + ex.Message + "<br/>";
}
If I watch the processes tab in Task Manager on the web server I see "cmd.exe" under the context of 'administrator' but it just hangs. For test purposes c:SendV80s.bat: copy c: oot.ini c:zzz.txt
If I logon onto the webserver's console and execute SendV80s.bat it works and exits without issue. But when I execute the same batch file via the Submit button it gets stuck executing in Task Manager/Process. I believe this has something to do with the fact that cmd is not running in a full environment/desktop context. I just noticed this on the actual console of the webserver (not in my RDP console but console 0 instead)
A pop-up box stating: CMD.exe Application error The application failed to initialize properly (0xc0000142). Click OK to terminate the application. And when I click on the OK button my ASPX page's WaitForExit is satisfied and the continues processing normally.
This program used to work when I had VWD 2005 express and SQLSERVER 2005 express. Then we upgraded to VWD 2008 express and SQLSERVER 2008 express. Now it fails Error running adodb Provider cannot be found. It may not be properly installed. 3706 To clarify; I used to run variations of the following to create small offline cub files that I could email to remote Users:-
PROVIDER=MSOLAP;
DATASOURCE=C:TESTAMRunAdodbTestMyCube.CUB;
SOURCE_DSN=AMCubeData;
CREATECUBE=CREATE CUBE AMCubeData(
DIMENSION [Channels],
LEVEL [ALL Channels] TYPE ALL,
LEVEL [Channel Group Name],
LEVEL [Channelname],
MEASURE [Sales Val]
Function Sum
Format 'Standard');
INSERTINTO=INSERT INTO AMCubeData(
[Channels].[Channel Group Name],
[Channels].[Channelname],
MEASURES.[Sales Val])
SELECT [ChannelGroupName] AS Col1,
[channelname] AS Col2,
[Sales Val] AS Col23
FROM dbo_qryCubeDataExtra
;
in a VB6 program that ran them in a ADODB connection something like :-
Dim MyCnn As ADODB.Connection
On Error GoTo Err_ErrorHappened
Set MyCnn = New ADODB.Connection
MyCnn.Open (MyAdodbcmd)
I know that similar questions have been asked all over the place, but I'm having trouble finding one that relates directly to what I'm after.
I have a website where a user uploads a data file, then that file is transformed and imported into SQL. The file could be up to 50mb in size, and some times this process can take 30 minutes or sometimes even longer.
I realise I need to palm off the actual work to another process, and poll that process on the web page. I'm wondering what the best approach would be though? Being a web developer by trade, I'm finding all this new Windows Service stuff a bit confusing, and I just wanted somewhere to start.
So:
Can I do / should I being doing this with a windows service? if so, how?
Should I use WCF? If this runs under IIS, will I have problems with aspnet_wp.exe recycling and timing out my process?
clarifications
The data is imported into sql, there's no file distribution taking place.
If there is a failure, it absolutely MUST be reported to the user. The web page will poll every, lets say, 5 seconds, from the time the async task begins, to get the 'status' of the import. Once it's finished another response will tell the page to stop polling for status updates.
queries on final decision
ok, so as I thought, it seems that a windows service is the best idea. So as to HOW to get it to work, it seems the 'put the file there and wait for the service to pick it up' idea is the generally accepted way, is there a way I can start a process run by the service, without it having to constantly be checking a database table / folder? As I said earlier, I don't have any experience with Windows Services - I wondered if I put a public method in the service, can I call it somehow?
I'm working on an ASP.net app I'm trying to execute a process remotely , using System.Diagnostics.Process class here's my code:
ProcessStartInfo startInfo = new ProcessStartInfo(@"C:TestCommand.exe");
startInfo.Domain = "myDomain";
startInfo.UserName = "MyUserName";
SecureString sec = new SecureString();
foreach (char item in "MyPassword")
{
sec.AppendChar(item);
}
sec.MakeReadOnly();
startInfo.Password = sec;
startInfo.UseShellExecute = false;
Process.Start(startInfo);
I keep receiving an exception with the message "Logon failure: unknown user name or bad password". Im absolutelly sure that i'm submiting my correct username/pwd
I've developed a popup email .aspx used on our intranet based web app that is auto generated with .pdf's attached. I'm developing with VS 2008 ASP.Net 3.5 C# and System.Net.Mail.MailMessage. I can create and send the email with no issues. The problem is with any attempt to open or delete the attachments I get the above error. The .pdf's a copied with the following code:
FileStream fsr = new FileStream(inFilename, FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryReader reader = new BinaryReader(fsr);
byte[] bytes = new byte[fsr.Length];
reader.Read(bytes, 0, bytes.Length);
FileStream fsw = new FileStream(outFileName, FileMode.Create, FileAccess.Write, FileShare.Write);
BinaryWriter writer = new BinaryWriter(fsw);
writer.Write(bytes, 0, bytes.Length);
// clean up
writer.Flush();
writer.Close();
writer = null;
fsw.Close();
fsw.Dispose();
fsw = null;
reader.Close();
reader = null;
fsr.Close();
fsr.Dispose();
fsr = null;
Later after sending the email I:
mailMessage.Dispose();
mailMessage = null;
foreach (string fileName in attachments)
{
if (File.Exists(fileName))
File.Delete(fileName);
}
The error occurs at: the File.Delete(fileName);
how I can delete or reopen these files after sending the email?
Dear ladies and sirs.
I have a .NET infra code running both within the IIS worker process and within a desktop client app. How can the .NET code determine whether it is running within an IIS worker process?
I know that I could check the name of the process (w3wp.exe, for instance), but I would like a more robust approach. I wish to make a side note. This is not a production need. I need this information to enable certain scenarios useful during the development and testing phase. Specifically to ease the testing of secure vs non secure configurations.
When I hit the run button (in my Default.aspx), a process starts (this process contacts a webservice to get some files, etc). How do I: Ensure that only a single process is running at a time (i.e. if I refresh the browser, I don't want to start the process a second time)Track progress - there are 4 points of the process (at 25%, 50%, 75%, 100%) that I want to track, and when each part completes, I want to update the progress bar. I have a status object for the running process, but the question is how to update the progress bar automatically? Do I need to use threads to achieve the above two?
View 1 RepliesMy code is that I want to create a log file and log it upon a new user browsing the site. However, what i did was I put in a 6 second delay and then used another browser to access the page. And it threw an Exception saying it is being used by another process which is true. So how come I set it so that, if IT is being used by another process, WAIT and retry every 500 milliseconds until it becomes free/available?
here's the code:
protected void Page_Load(object sender, EventArgs e)
{if (!IsPostBack) // if this is the first time page loads, set k to 1
{ lognewuser();
}}
[Code]....
I am having the text file which is used to track all the ip address which is available in the network and replace the content from"Reply from 172.29.116.3: bytes=32 time=1ms TTL=255" to 172.29.116.3.
For this task i am having 2 functions 1.runCMD() Function is used to create a file which ping all the ip address between 3 to 254 ("Reply from 172.29.116.3: bytes=32 time=1ms TTL=255").
2.Another function textFileReplace() which is used to replace the text from "Reply from 172.29.116.3: bytes=32 time=1ms TTL=255" to 172.29.116.3.
This process will continue every 30 minutes..
But i am having the error while accessing the function textFileReplace() as The process cannot access the file 'C:inetpub' because it is being used by another process.
I have a stored procedure which fetches data after joining 8-9 tables and inserts that into a temp table. It was running fine till now, but now when the amount of data fetched have exceeded 20000, the SP is breaking. I have debugged the sp and found that this main query is failing after returning arround 15000-16000 records.
The error message says Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. I know what is deadlock, but when i checked with SP_LOCK stored proc i only found that my process is running on database only. So how is this getting deadlocked when there are no other processes running simultaneously on server.
When I delete all files from the directory path. then it will give me this error The process cannot access the file because it is being used by another process. How to solve this?
View 10 RepliesI have an asp.net website and I allready did .Dispose() here is my code below;
try
{
MailMessage newMail = new MailMessage(MailFrom, MailTo,
MailSubject, MailMsg);
if (MailAttachment != "")
{
Attachment data = new Attachment(MailAttachment,
MediaTypeNames.Application.Octet);
newMail.Attachments.Add(data);
}
newMail.BodyEncoding = System.Text.Encoding.UTF8;
newMail.IsBodyHtml = true;
SmtpClient client = new SmtpClient("192.168.2.205");
client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.Send(newMail);
newMail.Attachments.Dispose();
newMail.Dispose();
DeleteAttachment(MailAttachment);
lblSuccess.Text = "Başvurunuz alınmıştır teşekkürler.";
lblSuccess.Visible = true;
ClearForm();
}
catch (Exception ex)
{
lblSuccess.Text = ex.Message;
//lblSuccess.Text = "Bir sorun oluştu bir daha deneyiniz.";
lblSuccess.Visible = true;
}
But i' m getting the same error, it' s running fine in my localhost but in server i' m getting this error. How can i fix it?
I am getting binary data from a SQL Server database field and am creating a document locally in a directory my application has permissions. However I am still getting the error specified in the title. I have tried numerous suggestions posted on the web including those suggested in previous posts on Stackoverflow. I have also used ProcessExplorer > Find Handle to locate the lock and it returns nothing as if the file is not locked.
I am using the code below to save the file to the file system and I then try to copy this file to a new location later in the application process within another method. It is this copy method that takes the path of the newly created file that throws the exception.
The file itself is created with its content and i can open it through Windows Explorer without any problems.
Am I missing something completely obvious? Am I creating the file correctly from the database?
// Get file from DB
FileStream fs = new FileStream(
"C:myTempDirectorymyFile.doc", FileMode.OpenOrCreate, FileAccess.Write);
BinaryWriter br = new BinaryWriter(fs);
br.Write("BinaryDataFromDB");
fs.Flush();
fs.Close();
fs.Dispose();
// Copy file
File.Copy(sourceFileName, destinationFilename, true);
Iam getting the above said error while Iam copying a file of relativelly Heavy say 130 MB.Below is the code which is giving the error.
System.IO.FileInfo FileInfo1 = new System.IO.FileInfo(filename1);
FileInfo1.CopyTo(strDestPath,true);