|
P Holroyd wrote:
The files do disapear when the service stops but that's not much use to me.
?? ?? Then you've got code/problems in there you haven't told us about. I've done this very thing myself without a problem. All I did was create a user account with the appropriate rights to the folder where all the files were copied to (log files from about 140 servers), parse those files up and dump the relevant information into an SQL Server, then delete the files.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Ok so it gets stranger and stranger, I deployed the program on a Win2000 server and it started working ok. The files come in get logged and then deleted ok.
I'm thinking you might be right because a local system service on a server will have greater access rights?
Here's a copy of the code :-
<br />
Private Sub ReadWrite()<br />
Try<br />
<br />
Dim iDropDir As New CDO.DropDirectory<br />
Dim pMsgs As CDO.IMessages<br />
Dim pAttachments As CDO.IBodyParts<br />
Dim i As Integer<br />
<br />
pMsgs = iDropDir.GetMessages(Directory.GetDirectoryRoot _ (AppSettings("Drop Dir")) & AppSettings("Drop Dir"))<br />
<br />
For i = 1 To pMsgs.Count<br />
pAttachments = pMsgs(i).Attachments()<br />
If LogUpdateMsg(pMsgs(i), 2, pAttachments) <> False Then _<br />
Kill(iDropDir.GetMessages.FileName(pMsgs(i)))<br />
Next<br />
<br />
Catch ex As Exception<br />
ExceptionManager.Publish(ex)<br />
End Try<br />
End Sub<br />
I'm picking up the Emails/Attachments here and calling a stored procedure in 'LogUpdateMessage' to log them, if the log is ok I kill the file.
On my test machine the program loops once, logs the message ok but doesn't delete the message from the drop directory. When the loop executes again the messages are picked up again and I get the following exception when I try to read the attachments :-
General Information <br />
*********************************************<br />
Additional Info:<br />
ExceptionManager.MachineName: STU<br />
ExceptionManager.TimeStamp: 12/01/2005 12:43:54<br />
ExceptionManager.FullName: Microsoft.ApplicationBlocks.ExceptionManagement, Version=1.0.1795.22054, Culture=neutral, PublicKeyToken=null<br />
ExceptionManager.AppDomainName: smsservice.exe<br />
ExceptionManager.ThreadIdentity: <br />
ExceptionManager.WindowsIdentity: NT AUTHORITY\SYSTEM<br />
<br />
1) Exception Information<br />
*********************************************<br />
Exception Type: System.UnauthorizedAccessException<br />
Message: Access is denied.<br />
<br />
TargetSite: CDO.IBodyParts get_Attachments()<br />
HelpLink: NULL<br />
Source: CDO.Message.1<br />
<br />
StackTrace Information<br />
*********************************************<br />
at CDO.MessageClass.get_Attachments()<br />
at SMSService.Service1.ReadWrite()
But like I say the same code running on the server is ok and this exception never gets raised.
|
|
|
|
|
Ooops the above post was me btw.
|
|
|
|
|
Anonymous wrote:
I'm thinking you might be right because a local system service on a server will have greater access rights?
Not so. There is no rights difference between the SYSTEM accounts from one edition of Windows 2000 to the next. There ARE differences between the CDO libraries though.
Your code uses the .GetMessages function of the CDO DropDirectory CoClass. I'm suspecting that there is a difference between the versions installed on your systems. Specifically, I'm suspecting that .GetMessages() is not releasing it's file handles immediately while enumerating the message files. This would cause an "Access Denied" exception when you tried to delete the files. What you might want to try is calling the .Dispose() method on your iDropDirectory object before you delete the files in that folder.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
OK I'll try that as well, that sounds logical. It sounds like best practice even if it's not the root of my problems.
I'll report back on the results
|
|
|
|
|
There doesn't seem to be a dispose method on the DropDirectory object.
At the moment I'm getting 4-5 of the Access Denied errors before the messages disapear from the Drop Directory. It doesn't seem to be affecting processing at the moment though.
|
|
|
|
|
Hello! - I’d be really glad to learn how serial com port communication is done using Visual C++.NET and Visual Basic.NET as I’m going to create an application where a master desktop/laptop PC communicates Modbus RTU protocol with external slave devices. My (beginner’s) questions are:
1. How is serial com port communication done using Visual C++.NET and Visual Basic.NET respectively (according to Microsoft)?
2. Which of Visual C++.NET or Visual Basic.NET would be the more suitable language for a serial com port Modbus communication application like this?
3. Is there any comprehensive literature dealing with serial com port communication using Visual C++.NET and Visual Basic.NET (maybe even Modbus specifically)?
4. Are there any good sites where source code for Visual C++.NET and Visual Basic.NET serial com port communication (maybe even Modbus specifically) can be downloaded/bought?
|
|
|
|
|
|
I need to automate Excel on my Intranet Server to do the following.
In Excel I need to produce a report (in worksheet one) and in worksheet two I need to produce a Pivot Table of information (stored in worksheet one).
The report needs to be generated from tables in SQL Server Version 5.1, I am familiar with .asp and a little asp.net, but have now purchased Visual Studio Pro 2003 and Visual Studio Tools for the Microsoft Office System (not opened the boxes yet).
I think that it would be best to code an application in VB.NET that can be executed from .ASP (which the intranet is programmed in), however I don't have any resources available to me on automating Excel in such a way or know if a console type application (as in C++) can be compiled using VB.NET.
My main questions however are, is there any such resources (available online) to help me out with excel automation?
Also is the now familiar process of creating a DSN connection with SQL Server the way to connect with VB.NET? A guide to this would be helpful.
If C# or C++ is the way to go, then is there any resources that could help?
With thanks
Jason
|
|
|
|
|
I am trying to copy one sheet out of an excel document and paste or create that sheet into another excel document. How in vb6 is this coded?
Thanks
Beginner in VB.Net
|
|
|
|
|
Hi, my computer have sql server 2000 and vb.net. Now I successfully install sql server 2000 reporting service on the machine. I could create the project about making the report, BUT......... Now I have a windows application and I want to create report. I have designed the report in reporting service but I don't know how to integrate it with my application. I try to find it item in Add new component... But I just found only crystal report, not reporting services. Is it possible to integrate reporting service in windows application? If it is possible, how could I do it??? Please there is any information about using reporting service and vb.net for the beginner, it would be greate.
A thousand mile of journey, begin with the first step.
APO-CEDC
Save Children Norway-Cambodia Office
|
|
|
|
|
A good place to start would be with the samples included in reporting services. Personally I figured out most of what I need to know by looking at the RSExplorer example. Assuming you installed reporting services in the default path you can find it here:
C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\Samples\Applications\RSExplorer\vb
Beyond that there is a lot of good information in the Books Online for reporting services.
Hope that helps,
Daryl Morgans
|
|
|
|
|
Wich is better :
Dim myAdapter as oledbDataAdapter = new oledbDataAdapter("bla bla")
or
Dim myAdapter as new oledbDataAdapter("Bla bla")
.
|
|
|
|
|
Neither. They produce exactly the same IL code.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
And Integer.Parse or CINT OR CTYPE ?
|
|
|
|
|
These three functions don't do the same things, so your trying to compare apples to oranges to banana's.
Integer.Parse attempts to create an 32-bit signed integer out of a text string.
CInt attempts to convert the value of a numeric datatype into a signed 32-bit integer value.
CType attempts to convert one datatype into another datatype. This works with numeric types, objects, structures, classes, interfaces, ...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
ok thanks a lot You really are a very helpfull resources
Now for the last question :
Dim ocls as Classname
or
Private (public etc..) ocls as Classname
in the Code-Behind (not in methods).
I'm sorry for all those question, it's just thing i havent paid attention, in my learning process.
|
|
|
|
|
At this level, both of your statements generate the exact same code. If Public or Private is specified, the Dim keyword becomes optional. If there is no access modifier specified, Dim must be used and the variable is Private by default. These three statements do the exact smae thing:
Class myClass
Private Dim mstrLine1 As String
Private mstrLine2 As String
Dim mstrLine3 As String
End Class
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Great, thank you very much.
|
|
|
|
|
I have a word macro (W97) that reads rich text from a database field assigns it to a rich text box control and pastes it into the word doc.
The macro has been tested on four development machines and it runs fine. However, when it is moved to a production PC it produces error 429 can't create object. This error occurs on the rich text assignment line.
rtb.TextRTF = strSelection
Is there anything special ( a DLL or OCX that should be registered) that should be done to release the macro. What is special about the development machines that allow the macro to run?
|
|
|
|
|
There are a bunch of reasons why this error could come up, but none of them have anything to do with the RichTextBox. It's more likely that it is a problem with the Data Access Components. Try updating the components with MDAC 2.7 SP1 (at least).
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
----------------------------------------------------------------------------
How do I set different tooltip message for different selected Listviewitems?
My ListView is in Detail mode and FullRowSelect = true
|
|
|
|
|
ToolTips are not supported on ListViewItems.
What you'll have to do is handle the MouseHover event of the ListView control, then use the ListView .GetItemAt() method to return the ListViewItem that the mouse is over. You can then use whatever you want from that to set the Text of your ToolTip control. Handle the MouseHover event of the ListView to display the ToolTip.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
thankz for the reply & tips, but im having abit problem. My program's listview display a report in such way as it will identify the row where there are error in any of it's colume and highlight it in pink. I'm suppose to display a tooltip on selecting of the "error" row and display a message stating the column that are incorrect.
How should i do it?
|
|
|
|
|
If your code highlights a ListViewItem in Pink because of an error, then you can also set that ListViewItems Tag property to some value to signify the same. You can then check that Tag property when you go to set the ToolTip Text. If the Tag signifies an error, setup the ToolTip. If not, clear it.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|