[R] Change database in SQL Server using RODBC
Ira Sharenow
irasharenow100 at yahoo.com
Tue Jul 1 06:12:42 CEST 2014
Thanks for everyone’s help.
I followed the instruction given on a variety of web pages in order to
set up the connection. The problem is trying to use the first connection
for a second database and doing so from within R.
It seems to me that an easy workaround is to simply set up another
connection and use a second database as the default.
In Windows 7 the basic strategy is do the following:
Control Panel
Administrative Tools
Data Sources (ODBC)
In the ODBC Data Source Administrator pop up select SQL 2012 and then
click on Add.
Since I do not have to work with a large number of databases, I consider
this to be a satisfactory work around.
On 6/30/2014 8:17 AM, Frede Aakmann Tøgersen wrote:
> Hi
>
> I can see that you do have troubles understanding how all this works
> using the RODBC package. Peter wasn't really being helpful to you.
>
> This is something that is quite difficult to help with not sitting
> beside you. Do you not having some local help from e.g. the IT department?
>
> However for a start please let me know how you managed to get
>
> con = odbcConnect("SQLServer2012")
>
> to work.
>
> It seems like that some DSN was set up.
>
> From there we can probably find a solution.
>
> Br. Frede
>
>
> Sendt fra Samsung mobil
>
>
> -------- Oprindelig meddelelse --------
> Fra: Ira Sharenow
> Dato:30/06/2014 16.42 (GMT+01:00)
> Til: Peter Crowther ,R list
> Emne: Re: [R] Change database in SQL Server using RODBC
>
> Thanks for everyone’s feedback.
>
> library(RODBC)
>
> con = odbcConnect("SQLServer2012")
>
> orders1 = sqlFetch(con,"dbo.orders")
>
> odbcClose(con)
>
> Allowed me to close the connection properly. Thanks.
>
> However, I still cannot figure out how to connect to the second database
> and table.
>
> library(RODBC)
>
> >con2 = odbcConnect("[sportsDB].dbo.sports")
>
> Warning messages:
>
> 1: In odbcDriverConnect("DSN=[sportsDB].dbo.sports") :
>
> [RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver
> Manager] Data source name not found and no default driver specified
>
> 2: In odbcDriverConnect("DSN=[sportsDB].dbo.sports") :
>
> ODBC connection failed
>
> >con2 = odbcConnect("[sportsDB].[dbo].sports")
>
> Warning messages:
>
> 1: In odbcDriverConnect("DSN=[sportsDB].[dbo].sports") :
>
> [RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver
> Manager] Data source name not found and no default driver specified
>
> 2: In odbcDriverConnect("DSN=[sportsDB].[dbo].sports") :
>
> ODBC connection failed
>
> >con2 = odbcConnect("[sportsDB].[dbo].[sports]")
>
> Warning messages:
>
> 1: In odbcDriverConnect("DSN=[sportsDB].[dbo].[sports]") :
>
> [RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver
> Manager] Data source name not found and no default driver specified
>
> 2: In odbcDriverConnect("DSN=[sportsDB].[dbo].[sports]") :
>
> ODBC connection failed
>
> >con3 = odbcConnect("SQLServer2012")
>
> >orders3 = sqlFetch(con3, "sportsDB.dbo.sports")
>
> Error in odbcTableExists(channel, sqtable) :
>
> ‘sportsDB.dbo.sports’: table not found on channel
>
> On 6/30/2014 1:34 AM, Peter Crowther wrote:
> > On 30 June 2014 02:44, Ira Sharenow <irasharenow100 at yahoo.com> wrote:
> >> I wish to query tables that are NOT in the default SQL Server 2012
> database.
> >> Now for the problem. I also want to read in the table dbo.sports. That
> >> table is in the database sportsDB. I did not see any way to do so from
> >> within R.
> > Can you not use sportsDB.dbo.sports to reference the table?
> >
> > In general, table reference syntax is [ [ [ serverName '.' ]
> > databaseName '.' ] [schema ] '.' ] tableName, where the names need
> > only be surrounded by [...] if they are not valid SQL Server
> > identifiers. Many people may suggest you reference
> > [sportsDB].[dbo].[sports]; this is unnecessary verbiage.
> >
> > Cheers,
> >
> > - Peter
> >
>
>
> [[alternative HTML version deleted]]
>
More information about the R-help
mailing list