默认情况下 - Microsoft SQL Server中数据库的字符编码集是什么?
如何在SQL Server中查看当前字符编码?
我使用RODBC向SQL-Server发送查询.有时它们需要花费太多时间来运行,所以我需要取消它们.
单击RStudio中的红色"停止"按钮会产生以下错误消息:
R没有响应您的中断处理请求,因此要停止当前操作,您可能需要完全终止R.
终止R将导致您的R会话立即中止.将中断活动计算,并且将丢弃未保存的源文件更改和工作空间对象.
你想现在终止R吗?
如果我单击是,我的会话确实已终止.(注意:使用Rgui而不是RStudio不会让事情变得更好)
然而:
当我使用另一个软件(名为"Query ExPlus")连接到同一个SQL-Server时,我有一个类似的停止按钮,然后单击它会立即中断查询,而不会发生任何崩溃.
当我使用RPostgres包连接到PostgreSQL数据库时,我也可以随时中断查询.
这两点让我觉得应该有办法解决我的问题.我能做什么?
到目前为止,我的解决方法是:
library(RODBC)
library(R.utils)
withTimeout(mydf <- sqlQuery(myconnection, myquery), timeout=120)
Run Code Online (Sandbox Code Playgroud)
注意:我没有权限从数据库端终止查询.
我正在尝试使用RODBC将数据从Oracle数据集市提取到R中.我已经能够解决我的一些问题,但我有一个基本问题.
如何保留数据库中的格式?
使用以下命令
uapp <- sqlQuery(ch, SQL, stringsAsFactors=F)
Run Code Online (Sandbox Code Playgroud)
我的数据按预期检索,但是当它们应该是字符时,某些字段在R中转换为数字和逻辑一次.如果我使用,我可以解决这个问题:
uapp <- sqlQuery(ch, SQL, stringsAsFactors=F, as.is=T)
Run Code Online (Sandbox Code Playgroud)
但我"丢失"列格式化为我希望它们的日期.
我已经搜索了很多并阅读了包文档,但无法找到解决方案.
我使用RODBC 1.3-12对抗Microsoft SQL Server,具体如下.
DBMS_Name "Microsoft SQL Server"
DBMS_Ver "10.50.6220"
Driver_ODBC_Ver "03.52"
Driver_Name "SQLSRV32.DLL"
Driver_Ver "06.01.7601"
ODBC_Ver "03.80.0000"
Run Code Online (Sandbox Code Playgroud)
我不确定如何给出一个可重现的例子,因为你需要一个DB,但下面的代码类似于我正在使用的代码.
myConnection<- odbcDriverConnect(connection = "Driver={SQL Server};server=myServerName;database=myDBName;trusted_connection=yes")
myDataFrame <- sqlQuery(myConnection, "select top 100 * from myTable", as.is=TRUE)
Run Code Online (Sandbox Code Playgroud)
按照文档的说法,双打将以数字的形式返回,正如我所期望的那样,但浮动和金钱作为角色回归.
有人知道这种方法吗?