how do I get streamwriter to work on server?

bschave2
bschave2 used Ask the Experts™
on
I have a file that needs to be created on another server other than the one the stramwriter app is running on. I have tested the link on my local with the link to the correct server, but when I put the application in dev, I get an webunhandled acception.

any help would be much appreciated...code in snippet
strSql11 = "Select FromDate,ToDate,MeterNumber,MeterNumberSub,ConvertedMCF,ConvertedMMBTU from itpwork where FromDate>= '" & FromDate & "' and ToDate<= '" & ToDate & "' "
        cmd = New MySqlCommand(strSql11, conn)
        da = New MySqlDataAdapter(cmd)
        ds11 = New DataSet()
        da.Fill(ds11)
 
        'localhost
        'DataTable2CSV(ds11.Tables(0), "K:\saIT\ITWORK.txt")
 
        'Development Server
        DataTable2CSV(ds11.Tables(0), "\\fs1.services.etc.lan\saIT\ITWORK.txt")
 
        'Production(Server)
        'DataTable2CSV(ds11.Tables(0), "f:\inetpub\ftproot\trucktickets\ITWORK.txt")
        conn.Close()
 
    End Sub
    Sub DataTable2CSV(ByVal table As DataTable, ByVal filename As String)
        DataTable2CSV(Table, filename, vbTab)
    End Sub
    Sub DataTable2CSV(ByVal table As DataTable, ByVal filename As String, _
        ByVal sepChar As String)
        Dim writer As System.IO.StreamWriter = Nothing
        Try
            writer = New System.IO.StreamWriter(filename)
 
            ' first write a line with the columns name
            Dim sep As String = " "
            Dim builder As New System.Text.StringBuilder
            'For Each col As DataColumn In table.Columns
            'builder.Append(sep).Append(col.ColumnName)
            'sep = sepChar
            'Next
            'writer.WriteLine(builder.ToString())
 
            ' then write all the rows
            For Each row As DataRow In table.Rows
                sep = ""
                builder = New System.Text.StringBuilder
 
                For Each col As DataColumn In table.Columns
                    builder.Append(sep).Append(row(col.ColumnName))
                    sep = sepChar
                Next
                writer.WriteLine(builder.ToString())
            Next
        Finally
            If Not writer Is Nothing Then writer.Close()
        End Try
    End Sub

Open in new window

Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
melmersSenior Software Deveolper/Architect

Commented:
Are the security settings right. has the asp.net account write rights on the server and the share ?

Author

Commented:
yes, I have full access to the server and folder. It works fine on my machine with the server path, but when I put it on a server, it bombs.
melmersSenior Software Deveolper/Architect

Commented:
when you do it on your machine and the webserver runs under your user it has your rights but when it runs under the webserver account it has only the rights of the asp.net instance.
Why Diversity in Tech Matters

Kesha Williams, certified professional and software developer, explores the imbalance of diversity in the world of technology -- especially when it comes to hiring women. She showcases ways she's making a difference through the Colors of STEM program.

Author

Commented:
if I am trying to save the file on a network drive, would I need to do this. What would I need to save the file on the network?
melmersSenior Software Deveolper/Architect

Commented:
It's the same there are no difference if you save the file on a network drive or on the network with the unc path. look at the security setting of the destination folder.
Add there the ASP.NEt USer form your network server or create a AD Group where you add the ASP.NET account of your server and then add it to the security tab of the destination folder.

Author

Commented:
I get this error when trying to copy the file from the server the app is running on to the network drive of choice.

ERROR:
The account used is a computer account. Use your global user account or local user account to access this server.
Senior Software Deveolper/Architect
Commented:
Ok, when you have access to the server create a user who have access to the webserver and to your fileserver then create a new apppool and give him the identity of your created user.

On your website configuration set your website the new created apppool.

Author

Commented:
I found the issue. IIS NTSF wasn't set to basic.

Author

Commented:
I will award you the point. thanks for trying to help

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial