Re: Remote Data Access Connection Testing

Tech-Archive recommends: Fix windows errors by optimizing your registry

From: Edward V. Dolikian (edolikian_at_hotmail.com)
Date: 10/20/04


Date: Wed, 20 Oct 2004 08:21:40 -0400

Finally got it working! Not quite secure or total functional but was able
to make the connection and move data into my device. A lot of things aren't
working (namely any security or access from outside of my firewall but I've
got a starting point to work from). Thanks!

To save others some time, here are some settings that worked for Annonomous
access.

Leave Internetuser and Password as an Empty string (e.g....
rda.Internetlogin = string.empty)

Used my internal IP address of my desktop machine / IIS Server / SQL Server
(192.168.1.xx) Even though my firewall is turned off, I can't get it
working from my external address. I think this may have to do with
encription of the username and password when using basic authentication in
SQL. I think I need to switch to Windows authentication or SSL via a
certificate.

Used my SA account info in myRemoteconnection String. e.g.
"Provider=sqloledb;data source....;user id=sa,password=xxx" (Probably
because of the above)

Referred to my Data Source = myname\myname (I think the first specifies the
SQL Server Machine and the second refers to the Instance instead of just
Data Source = myname

"Edward V. Dolikian" <edolikian@hotmail.com> wrote in message
news:e7MBmousEHA.2460@TK2MSFTNGP10.phx.gbl...
> Thanks for the input. The long and the short of it is that is still isn't
> working. In short, here is what I did / found. Obviosuly any specifics
> you can provide, reduces the number of variables and gets me closer to
> solving the problem.
>
> Windows firewall was on, turned off - didn't work.
> -----------------
> Added code to list out error (attempted to translate to vb.net from what I
> know). Now all I get is a message "\n". Probably doing something really
> dumb but tell me the vb equivelent if possible. It must have lost
> something in the translation.
>
> Dim s As String
> s = ""
> For Each sqlerror In Sqlex.Errors
> s += sqlerror.Message + "\n"
> MessageBox.Show(s)
> Next
>
> ----------------
>
> When I change both settings to Work Network, I get a message that I must
> configure a proxy server. Not sure if I know all the addresses but I am
> assuming that the Port 80 is the 192.168.1... address? and the WAN is my
> external IP address being forwarded to my IIS (eg 68.61.xxx.xx). In
> general, I would assume that I should be specifying my external address
> (68.61.xx.yy). I typically would like to use a WiFi connection to access
> the internet.
>
> Lastly, I am a bit confused as to which Login account I should be using
> and whether I should specify the InternetLogin or InternetProxyLogin. As
> a test, I changed my user id and password to be incorrect and didn't get
> an error message either. Should I be using by Windows Login (e.g.
> administrator) or my SQL Administrator ID (e.g. sa) user / password.
>
> I have not been testing on my device but have been using the emulator
> (2003).
>
> Here is my current RDA code to Pull the data...
>
> rda.InternetLogin = "sensible\administrator"
> rda.InternetPassword = "mypassword"
> rda.InternetUrl = "http://68.61.yyy.xx/ssce20/sscesa20.dll"
> ' rda.InternetUrl = "http://192.168.1.20/ssce20/sscesa20.dll"
> rda.LocalConnectionString = "Data Source=\My
> Documents\IntelligenceData.sdf;SSCE:Database Password=apress"
> rda.Pull("FieldMemos", "Select * from FieldMemos", remoteconnectionstring,
> RdaTrackOption.TrackingOnWithIndexes, "FieldMemosErrorTable")
> Catch Sqlex As SqlCeException
> Dim sqlerror As SqlCeError
>
> Thanks again
>
> "chris" <chris-s@mailcity.com> wrote in message
> news:12699dd8.0410142336.15bfb870@posting.google.com...
>> Try the following VB equivalent for your catch statement, it will show
>> more detail...
>>
>>
>> catch(System.Data.SqlServerCe.SqlCeException e)
>> {
>> SqlCeErrorCollection errorCollection = e.Errors;
>> string s = "";
>> foreach (SqlCeError err in errorCollection)
>> s += err.Message+"\n";
>> MessageBox.Show(s);
>> }
>>
>> Also, check a couple of things...
>>
>> 1) Firewalls turned off
>>
>> 2) On device select
>> Start->Settings->Connections->Connections->Advanced->Select
>> Networks and set both combo boxes to 'My Work Network'
>>
>> 3)Are you specifying the server by machine name or IP address, try IP
>> Address.
>>
>> Are you connecting over Active Sync or LAN?
>>
>> Chris
>>
>>
>>
>>
>> "Edward V. Dolikian" <edolikian@hotmail.com> wrote in message
>> news:<#uyTIYesEHA.636@TK2MSFTNGP09.phx.gbl>...
>>> I've been trying to get up to speed on Remote Data Access / Replication.
>>> It
>>> seems that I have a "Server Side Connection or configuration" problem
>>> and
>>> looking for ideas on how to isolate/correct the problem. At this point,
>>> I
>>> am simply trying to use RDA and the Pull method to retrieve a data table
>>> and
>>> its contents from the Server SQL database.
>>>
>>> I did create an ASP.NET Windows application against the same SQL
>>> database on
>>> the server and was able to populate a datagrid on my desktop
>>> application. I
>>> double checked my connection settings paramters on the connection string
>>> on
>>> my desktop (e.g. Provider, Data Source, User ID, Password) and they do
>>> match
>>> my device settings (see code below).
>>>
>>> I am able to test that the SQL Agent on my device is connecting to the
>>> sscesa20.dll on my web server. When I navigate to the address, I do get
>>> a
>>> response back.
>>>
>>> Somewhere in between, the connection is not happening. I have attempted
>>> to
>>> turn off / minimize security but no doubt this is where my problem lies.
>>> Ultimately, I recongize that you must use security but for the time
>>> being, I
>>> just want to get it working. Is there any way to debug / test / trace
>>> what
>>> is happening on the server? Is there a command I can issue to ask me to
>>> login so I can check if I am connecting that is more generic? How
>>> should
>>> should SQL Server be configured for authenticaiton? I think I have it
>>> configured to use SQL and Windows Authentication.
>>>
>>> Any ideas / suggestions would be much appreciated.
>>>
>>> Ed
>>>
>>> I am using the sample in Rob Tiffany's book on SQL CE Database
>>> Development.
>>> Here is a sample of my code. I have substituted / blanked out certain
>>> fields but hopefully this gives you an idea. Net result is that I get a
>>> blank database on my device with no tables and thus no data. I do get a
>>> SQLCEExeption message box with no message. On subsequent attempts, I
>>> get an
>>> error on the DROP Table statement because it wasn't created in the first
>>> place.
>>>
>>> Dim cn As SqlCeConnection
>>> Dim rda As SqlCeRemoteDataAccess
>>>
>>> Dim sqlengine As SqlCeEngine
>>>
>>> Try
>>>
>>> btnPull.Enabled = False
>>>
>>> ' Create Database if it doesn't already exist
>>>
>>> If Not File.Exists("\My Documents\Intelligencedata.sdf") Then
>>>
>>> sqlengine = New SqlCeEngine
>>>
>>> sqlengine.LocalConnectionString = "Data Source=\My
>>> Documents\IntelligenceData.sdf; Password=apress; Encrypt Database=true"
>>>
>>> sqlengine.CreateDatabase()
>>>
>>> sqlengine.Dispose()
>>>
>>> Else
>>>
>>> ' Open the connection to the database
>>>
>>> cn = New SqlCeConnection("Data Source=\My
>>> Documents\IntelligenceData.sdf;password=apress")
>>>
>>> cn.Open()
>>>
>>> Dim cmd As SqlCeCommand = cn.CreateCommand
>>>
>>> ' Drop the FieldMemos table
>>>
>>> cmd.CommandText = "DROP TABLE fieldmemos"
>>>
>>> cmd.ExecuteNonQuery()
>>>
>>> ' Close the connection
>>>
>>> If cn.State <> ConnectionState.Closed Then
>>>
>>> cn.Close()
>>>
>>> End If
>>>
>>> End If
>>>
>>> ' Instantiate the RDA Object
>>>
>>> rda = New SqlCeRemoteDataAccess
>>>
>>> ' Connection to the SQL Server
>>>
>>> Dim remoteconnectionstring As String = "Provider=SQLOLEDB;Data
>>> Source=SENSIBLE;Initial Catalog=IntelligenceData;User
>>> ID=sa;Password=xxxyyy"
>>>
>>> rda.InternetUrl = "http://xx.yy.zzz.xx/ssce20/sscesa20.dll"
>>>
>>> rda.LocalConnectionString = "Data Source=\My
>>> Documents\IntelligenceData.sdf;SSCE:Database Password=apress"
>>>
>>> rda.Pull("FieldMemos", "Select * from FieldMemos",
>>> remoteconnectionstring,
>>> RdaTrackOption.TrackingOnWithIndexes, "FieldMemosErrorTable")
>>>
>>> Catch Sqlex As SqlCeException
>>>
>>> Dim sqlerror As SqlCeError
>>>
>>> For Each sqlerror In Sqlex.Errors
>>>
>>> MessageBox.Show(sqlerror.Message)
>>>
>>> Next
>>>
>>> Catch ex As Exception
>>>
>>> MessageBox.Show(ex.Message)
>>>
>>> Finally
>>>
>>> rda.Dispose()
>>>
>>> btnPull.Enabled = True
>>>
>>> End Try
>>>
>>> End Sub
>
>



Relevant Pages

  • Sql server does not exist or access denied
    ... server 2000. ... the error is in the connection string.The same connection ... connection string is: ... I also tried specifying the port number 1433, ...
    (microsoft.public.sqlserver.msde)
  • Re: iPhone 3g
    ... I was specifying "remote.domainname.com/exchange" for the server. ... The correct way to specify the server as "remote.domainname.com" with nothing after it. ... MS-MVP - Windows Desktop Experience: ... I have read that some permissions may need to be changed in IIS. ...
    (microsoft.public.windows.server.sbs)
  • Re: Make a call
    ... So, is it that you may be getting a request for user Joe via UDP, whose ... wanting the administrative headaches of a server controlling 6000 employee ... finally add the second call to the conference. ... way of specifying his current location so that he could make business calls ...
    (microsoft.public.win32.programmer.tapi)
  • Re: WSS Cant Extend New Web Sites Created In IIS
    ... Answering only the good check list (single server) ... Add Applications Server role specifying ASP.NET and not specifying FPSE ... planning to use the SQL server 2K copy otherwise default (which will install ... install WSS SP2. ...
    (microsoft.public.sharepoint.windowsservices)
  • Re: [2.6 patch] remove smbfs
    ... remembering to mount specifying lanman security ... remembering to specify the netbios name of the server on mount ... working around various server bugs ...
    (Linux-Kernel)