Showing posts with label app. Show all posts
Showing posts with label app. Show all posts

Wednesday, March 28, 2012

ReplaceSelectionFormula not working at all?

I have a VB6 / Crystal 7 app that is coded exactly like many others I have written. For some reason, this app will not pass anything through the "ReplaceSelectionFormula" method. I dont know if something is wrong with the RPT files, or the database, or what?

I will attached a TXT file of the code that calls the report, and the RPT file itself.

The behavior is the same for all 10 or so reports in the app???

Please help. thanks!i m using the the syntax ...
rpt.ReplaceSelectionFormula = "{tbl.field} = id" ...
and its working fine try this ...
hope this will work .. u missed equal to singn (=) before passing 'w' string to replaceSelectionFormula .. this may be error ...
..
mdiMain.CrystalReport1.ReportTitle = sl_short
mdiMain.CrystalReport1.ReplaceSelectionFormula w
************** w is usually equal to something like "{V_SCORE_BY_YEARMONTH.ResponseYear}=2007" *************

..|||When i use the symtax you recommened:

mdiMain.CrystalReport1.ReplaceSelectionFormula = w

I get an "Argument not optional" error.

It is working for me without the "=" is several other applications.

Tuesday, March 20, 2012

Repl works on VPN, not via internet

I am trying to setup a process in a VB.Net app that allows the user to manually invoke a transactional replication process. This works fine on my development machine within our network/VPN. However, when I disconnect my machine from the VPN, the process
keeps failing with a "Process could not connect to Distributor" error. Unfortunately, our customers/users will not be in our domain...they need to be able to connect & replicate over the internet.
Here is the current setup:
Server
Windows 2003 Server
Sql Server 2000 (sp3)
Client
Windows 2000 Pro or Windows XP Pro
MSDE
Also...from within the network I have to use only the server's name "MyServer" to get this to work. If I use a fully qualified name, like "MyServer.Domain.Com" it fails with the same error.
The server acts as both the publisher and the distributor. The publication is set up to allow anonymous pull subscriptions via FTP. I have a sql login that I have setup and made sure that it is in the Publications PAL.
I have used this example: http://support.microsoft.com/default...;en-us;Q319648 to create the .net process.
From a client machine...I can access the ftp site on the server via:
ftp Server.Domain.Com.
I cannot get to the server with Ping or Tracert. I was told by our network admin that the ability to Ping our server has been disabled.
I think that this must be a server configuration problem...since I can get the whole thing to work when I am on the network. I checked the log files (based on a suggestion from another post) on the server...and it doesn't even appear that a login is attem
pted.
Does anyone have any other suggestions?
thanks
when you are using a vpn you are able to authenticate using NT
authentication. This won't work over the internet. You will have to change
how you are authenticating for this to work.
If you can ftp you have connectivity.
Make the following changes
oSnap.PublisherSecurityMode = SQLINITXLib.SECURITY_TYPE.NT_AUTHENTICATION
to
oSnap.PublisherSecurityMode = SQLINITXLib.SECURITY_TYPE.DB_AUTHENTICATION
oSnap.PublisherPassword="password"
oSnap.PublisherLogin="account"
change
oSnap.DistributorSecurityMode =
SQLINITXLib.SECURITY_TYPE.NT_AUTHENTICATION
to
oSnap.DistributorSecurityMode =
SQLINITXLib.SECURITY_TYPE.DB_AUTHENTICATION
oSnap.DistributorPassword="password"
oSnap.DistributorLogin="account"
Repeat these changes everywhere you see NT_AUTHENTICATION.
Hilary Cotter
Looking for a book on SQL Server replication?
http://www.nwsu.com/0974973602.html
"dd" <dd@.discussions.microsoft.com> wrote in message
news:BBA7CF14-42B4-417C-8C4D-A422D520EA0B@.microsoft.com...
> I am trying to setup a process in a VB.Net app that allows the user to
manually invoke a transactional replication process. This works fine on my
development machine within our network/VPN. However, when I disconnect my
machine from the VPN, the process keeps failing with a "Process could not
connect to Distributor" error. Unfortunately, our customers/users will not
be in our domain...they need to be able to connect & replicate over the
internet.
> Here is the current setup:
> Server
> Windows 2003 Server
> Sql Server 2000 (sp3)
> Client
> Windows 2000 Pro or Windows XP Pro
> MSDE
> Also...from within the network I have to use only the server's name
"MyServer" to get this to work. If I use a fully qualified name, like
"MyServer.Domain.Com" it fails with the same error.
> The server acts as both the publisher and the distributor. The
publication is set up to allow anonymous pull subscriptions via FTP. I have
a sql login that I have setup and made sure that it is in the Publications
PAL.
> I have used this example:
http://support.microsoft.com/default...;en-us;Q319648 to create
the .net process.
> From a client machine...I can access the ftp site on the server via:
> ftp Server.Domain.Com.
> I cannot get to the server with Ping or Tracert. I was told by our
network admin that the ability to Ping our server has been disabled.
> I think that this must be a server configuration problem...since I can get
the whole thing to work when I am on the network. I checked the log files
(based on a suggestion from another post) on the server...and it doesn't
even appear that a login is attempted.
> Does anyone have any other suggestions?
> thanks
|||Hilary...
Thanks for the reply. It is good to know that if I can connect via ftp I am doing something right.
Actually, I already made those changes to the example code...changing from NT to DB authentication in each place it was occuring. Though...even on our VPN, I had to change the login and password to the "sa" account so it would work.
We do have a firewall...not sure if that is the problem. And...another note...I have another application running on a PocketPC (with the .Net Compact Framework) that is successful in a merge replication over the internet without using "sa" account...and
it is on the same database I am using for my transactional one that is failing.
"Hilary Cotter" wrote:

> when you are using a vpn you are able to authenticate using NT
> authentication. This won't work over the internet. You will have to change
> how you are authenticating for this to work.
> If you can ftp you have connectivity.
> Make the following changes
> oSnap.PublisherSecurityMode = SQLINITXLib.SECURITY_TYPE.NT_AUTHENTICATION
> to
> oSnap.PublisherSecurityMode = SQLINITXLib.SECURITY_TYPE.DB_AUTHENTICATION
> oSnap.PublisherPassword="password"
> oSnap.PublisherLogin="account"
> change
> oSnap.DistributorSecurityMode =
> SQLINITXLib.SECURITY_TYPE.NT_AUTHENTICATION
> to
> oSnap.DistributorSecurityMode =
> SQLINITXLib.SECURITY_TYPE.DB_AUTHENTICATION
> oSnap.DistributorPassword="password"
> oSnap.DistributorLogin="account"
> Repeat these changes everywhere you see NT_AUTHENTICATION.
>
> --
> Hilary Cotter
> Looking for a book on SQL Server replication?
> http://www.nwsu.com/0974973602.html
>
> "dd" <dd@.discussions.microsoft.com> wrote in message
> news:BBA7CF14-42B4-417C-8C4D-A422D520EA0B@.microsoft.com...
> manually invoke a transactional replication process. This works fine on my
> development machine within our network/VPN. However, when I disconnect my
> machine from the VPN, the process keeps failing with a "Process could not
> connect to Distributor" error. Unfortunately, our customers/users will not
> be in our domain...they need to be able to connect & replicate over the
> internet.
> "MyServer" to get this to work. If I use a fully qualified name, like
> "MyServer.Domain.Com" it fails with the same error.
> publication is set up to allow anonymous pull subscriptions via FTP. I have
> a sql login that I have setup and made sure that it is in the Publications
> PAL.
> http://support.microsoft.com/default...;en-us;Q319648 to create
> the .net process.
> network admin that the ability to Ping our server has been disabled.
> the whole thing to work when I am on the network. I checked the log files
> (based on a suggestion from another post) on the server...and it doesn't
> even appear that a login is attempted.
>
>

Monday, February 20, 2012

RENDERSTREAM - What am I doing wrong?

I'm writing my own app that calls the RS Web Service.
So far, pretty good, but I can't seem to make RENDERSTREAM Work.
Do you have any idea what is wrong with this code?
The error I get is that RenderStream can not find the stream...
RenderedReport = myReportService.Render
(myReport, Format, HistoryID, DeviceInfo, myParameters, Credentials,
ShowHideToggle, Encoding, MimeType, UsedParameters, Warnings, StreamIDs)
For Each streamid As String In StreamIDs
RenderedStreams = myReportService.RenderStream _
(myReport, Format, streamid, Nothing, Nothing, Nothing,
Nothing, Nothing)
My DEVINFO for the RENDER is
DeviceInfo = "<DeviceInfo>"
DeviceInfo += "<HTMLFragment>True</HTMLFragment>"
DeviceInfo += "<Parameters>False</Parameters>"
DeviceInfo += "<Toolbar>False</Toolbar>"
DeviceInfo += "<StreamRoot>/" + Session("RSFolder") +
"/resources/</StreamRoot>"
DeviceInfo += "</DeviceInfo>"
Thanks.IraD wrote:
> I'm writing my own app that calls the RS Web Service.
> So far, pretty good, but I can't seem to make RENDERSTREAM Work.
> Do you have any idea what is wrong with this code?
> The error I get is that RenderStream can not find the stream...
Ira..
Try this:
Dim result As Byte() = Nothing
Dim image As Byte()
result = rs.Render(path, format, historyID, deviceInfo, parameters, Nothing,
Nothing, encoding, _
mimeType, parametersUsed, warnings, streamIds)
Select Case format
Case "HTML4.0", "HTML3.2"
' render stream for each image and save to disk
Dim stream As System.IO.FileStream
For Each streamid As String In streamIds
Dim encodingImage As String
Dim mimeTypeImage As String
image = rs.RenderStream(path, format, streamid, Nothing, Nothing,
parameters, encodingImage, mimeTypeImage)
stream = System.IO.File.OpenWrite(Server.MapPath("./Temp") & "\" &
streamid)
stream.Write(image, 0, CInt(image.Length))
stream.Close()
Next
Dim enc As System.Text.Encoding = System.Text.Encoding.UTF8
ReportPlaceholder.InnerHtml = enc.GetString(result)
Case Else
Response.ClearContent()
Response.AppendHeader("content-length", result.Length.ToString())
Response.ContentType = mimeType
Response.BinaryWrite(result)
Response.Flush()
Response.Close()
End Select|||Frank,
Much closer. My error was that I did not pass the "parameters" argument
correctly to RENDERSTREAM. I had NOTHING, now that I have sent along the
parameters, renderstream works.
But I don't understand the reportplaceholder.innerhtml statement. What I
now see on my screen is a box that looks like it wants to hold my chart - but
it doesn't have it. Do I have to send the results of renderstream to the
response object as well as the results of the render?
Thanks.
"Frank Matthiesen" wrote:
> IraD wrote:
> > I'm writing my own app that calls the RS Web Service.
> > So far, pretty good, but I can't seem to make RENDERSTREAM Work.
> >
> > Do you have any idea what is wrong with this code?
> > The error I get is that RenderStream can not find the stream...
> Ira..
> Try this:
> Dim result As Byte() = Nothing
> Dim image As Byte()
> result = rs.Render(path, format, historyID, deviceInfo, parameters, Nothing,
> Nothing, encoding, _
> mimeType, parametersUsed, warnings, streamIds)
>
> Select Case format
> Case "HTML4.0", "HTML3.2"
> ' render stream for each image and save to disk
> Dim stream As System.IO.FileStream
> For Each streamid As String In streamIds
> Dim encodingImage As String
> Dim mimeTypeImage As String
> image = rs.RenderStream(path, format, streamid, Nothing, Nothing,
> parameters, encodingImage, mimeTypeImage)
> stream = System.IO.File.OpenWrite(Server.MapPath("./Temp") & "\" &
> streamid)
> stream.Write(image, 0, CInt(image.Length))
> stream.Close()
> Next
> Dim enc As System.Text.Encoding = System.Text.Encoding.UTF8
> ReportPlaceholder.InnerHtml = enc.GetString(result)
> Case Else
> Response.ClearContent()
> Response.AppendHeader("content-length", result.Length.ToString())
> Response.ContentType = mimeType
> Response.BinaryWrite(result)
> Response.Flush()
> Response.Close()
> End Select
>
>|||IraD wrote:
> But I don't understand the reportplaceholder.innerhtml statement.
> What I
> now see on my screen is a box that looks like it wants to hold my
> chart - but it doesn't have it. Do I have to send the results of
> renderstream to the response object as well as the results of the
> render?
PlaceHolder is declared on aspx-page
Send me your mail-adress...i will send you the files with full code.
regards
Frank|||Much appreciated: IDOBROW@.AIB.ORG
"IraD" wrote:
> I'm writing my own app that calls the RS Web Service.
> So far, pretty good, but I can't seem to make RENDERSTREAM Work.
> Do you have any idea what is wrong with this code?
> The error I get is that RenderStream can not find the stream...
> RenderedReport = myReportService.Render
> (myReport, Format, HistoryID, DeviceInfo, myParameters, Credentials,
> ShowHideToggle, Encoding, MimeType, UsedParameters, Warnings, StreamIDs)
> For Each streamid As String In StreamIDs
> RenderedStreams = myReportService.RenderStream _
> (myReport, Format, streamid, Nothing, Nothing, Nothing,
> Nothing, Nothing)
> My DEVINFO for the RENDER is
> DeviceInfo = "<DeviceInfo>"
> DeviceInfo += "<HTMLFragment>True</HTMLFragment>"
> DeviceInfo += "<Parameters>False</Parameters>"
> DeviceInfo += "<Toolbar>False</Toolbar>"
> DeviceInfo += "<StreamRoot>/" + Session("RSFolder") +
> "/resources/</StreamRoot>"
> DeviceInfo += "</DeviceInfo>"
> Thanks.