加载 SQL 表后使用 odbcClose(channel) 是好习惯吗?
Is it good practice to use odbcClose(channel) after loading the SQL Tables?
参考以下示例:http://www.r-bloggers.com/a-shiny-example-sap-hana-r-and-shiny/
在下面的例子中,他们 运行 odbcClose(ch)
在他们得到他们想要的表之后。将表加载到工作区后使用 odbcClose(channel)
是好习惯吗?在 Shiny
应用程序中使用 SQL 连接时是否应该做任何不同的事情?
library("shiny")
library("RODBC")
ch<-odbcConnect("HANA_TK",uid="SYSTEM",pwd="manager")
odbcQuery(ch,"SELECT table_name from SYS.CS_TABLES_ where schema_name = 'SFLIGHT'")
tables<-sqlGetResults(ch)
**odbcClose(ch)**
shinyUI(pageWithSidebar(
headerPanel("SAP HANA and R using Shiny"),
sidebarPanel(
selectInput("Table", "Choose a table:",
choices = tables$TABLE_NAME),
numericInput("Records", "Number of Records to view:", 10)
),
mainPanel(
tableOutput("view")
)
))
不过,如果我让它们保持打开状态,我还没有看到出现任何问题。我认为 R 最终会关闭所有未使用的连接。
我不确定是否有系统级的好处,但我已经养成了尽快关闭频道的习惯。
当我的系统管理员需要执行某些任务时,他可能需要关闭服务器,如果有人当前正在访问数据,他会尽量避免这样做。一个打开的连接对他来说就像有人正在访问数据一样,所以他一直等到连接关闭才关闭服务器。如果我留下一个杂散的开放连接,他可能永远不会觉得他可以进行维护。
因此,根据专业礼貌的轶事,我会尽快关闭我的联系。
参考以下示例:http://www.r-bloggers.com/a-shiny-example-sap-hana-r-and-shiny/
在下面的例子中,他们 运行 odbcClose(ch)
在他们得到他们想要的表之后。将表加载到工作区后使用 odbcClose(channel)
是好习惯吗?在 Shiny
应用程序中使用 SQL 连接时是否应该做任何不同的事情?
library("shiny")
library("RODBC")
ch<-odbcConnect("HANA_TK",uid="SYSTEM",pwd="manager")
odbcQuery(ch,"SELECT table_name from SYS.CS_TABLES_ where schema_name = 'SFLIGHT'")
tables<-sqlGetResults(ch)
**odbcClose(ch)**
shinyUI(pageWithSidebar(
headerPanel("SAP HANA and R using Shiny"),
sidebarPanel(
selectInput("Table", "Choose a table:",
choices = tables$TABLE_NAME),
numericInput("Records", "Number of Records to view:", 10)
),
mainPanel(
tableOutput("view")
)
))
不过,如果我让它们保持打开状态,我还没有看到出现任何问题。我认为 R 最终会关闭所有未使用的连接。
我不确定是否有系统级的好处,但我已经养成了尽快关闭频道的习惯。
当我的系统管理员需要执行某些任务时,他可能需要关闭服务器,如果有人当前正在访问数据,他会尽量避免这样做。一个打开的连接对他来说就像有人正在访问数据一样,所以他一直等到连接关闭才关闭服务器。如果我留下一个杂散的开放连接,他可能永远不会觉得他可以进行维护。
因此,根据专业礼貌的轶事,我会尽快关闭我的联系。