問題タブ [rodbc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - RODBCを使用してxlsからRにインポートした後のデータの整合性を検証する
以下のスクリプトを使用して、RODBCを使用して〜10000行と〜250列のxlsファイルをインポートしています。
インポートプロセス中に、そのxlsファイルを開いたり閉じたりしました。
念のため、Rとxlsファイル自体の行数をチェックして、インポートが破損していないことを確認しました。そうです、行数は同じままなので、インポートプロセスは問題ないと思います。
データの集計を開始すると問題が発生します。行番号が同じでも、一部の行が実際に破損していることにUID
気付き、内部にあり、データフレームの後半でUIDが混乱していることに気付きます(例:同じ行が2回複製されます)。
ファイルを再度インポートし、xlsファイルをあえて開いたり閉じたりしないでください。今回は、問題なく動作しています。
RODBCで読み取っているときにxlsファイルを開いたり閉じたりしないというレッスンを学びましたが、データが混乱しないようにする方法、またはデータセットをエラーなしで実際にインポートしたことを確認するにはどうすればよいですか?インポートされますか?
ありがとう。
PSデータフレームをcsvにエクスポートし、xlsをcsvにエクスポートしてから、追加の手段としてチェックサムを比較することを考えていますが、他の方法はありますか?
sql - ゼロ行を返す RODBC クエリ
問題: RODBC (誤って) 0 行を返す
状況:
RODBC を使用して、商用 DB の ODBC ドライバー (興味がある場合は OSI Soft の PI Historian Time Series DB) を使用して作成した DSN に接続しています。
クエリを実行すると、ゼロ行が取得されます。
BelieveNRows = FALSE
120行を返す必要がありますが、これらの結果はすべてゼロのままです。
他に何を試すことができますか?
行数が多いことの証明:
Excel またはコマンド プロンプトで
結果で...
R と Excel の両方で、存在しないタグをクエリすると、たとえばtag = 'aeeEEEEE11!!!'
、ゼロ行が正しく返されます。
追加情報
SQL テーブル
ODBC 情報
私のセッション情報:
sql-server - RでRODBCを使用してSqlサーバーからutcタイムスタンプを読み取る方法は?
RODBCを使用して、Sql Server 2008からRにデータをインポートしようとしています:
データは「datetime」型の列に格納されます。すべてのタイムスタンプは UTC ですが、システムのタイムゾーンは CET です。R はすべてのタイムスタンプを "POSIXct" "POSIXt" 型の値に変換します。例:
"2011-01-01 07:24:12 CET"
"2011-01-01 08:35:10 CET"
"2011-01-01 09:02:50 CET"
タイムスタンプは正しく、タイムゾーンは間違っています。タイムゾーンが明示的に指定されていないため、R はすべてのタイムスタンプにローカル タイムゾーンを割り当てているようです。
データのタイムゾーンを指定できる方法はありますか?タイムゾーン情報は正しいでしょうか?
excel - すべてのインポートを sqlQuery から文字に変換します
RODBC を使用して R にインポートする xls ファイルがあり、列の 1 つに次のデータがあります。
コマンドを使用するとsqlQuery
、この列は数値に変換され、次のようになります。
sqlQuery
この列の変換を停止するにはどうすればよいですか? 試してみas.is=TRUE
ましたが、うまくいかないようです。
質問をより一般的にするために、すべてをテキストとしてインポートする必要があります (つまり、変換を試みないでください) sqlQuery
。
r - RODBC が失敗する: 「キャスト指定の文字値が無効です」 - Excel 2007
RODBC を使用して Excel2007 ファイルに書き込もうとしていますが、エラーが発生し続けます。この非常に基本的なケース、文字、数値、日付、および論理データ型を持つ 1 行の data.frame に問題を減らしました。
エラー:
日付列と論理列の両方を文字に変換すると、すべて正常に機能します。問題は、これらが Excel の文字になり、変換しないと意図したデータ型として使用できないことです。私は sqlSave コードを掘り下げましたが、正しいことをしているようです。他の誰かがこの問題に遭遇しましたか?
sql - SPSSファイルのクエリ
Rバージョン:2.12.2 / OS:Windows XP
クエリと操作が必要なデータは、SPSS .savファイル(サイズ〜112MB)に保存されており、SPSS構文に関する非常に基本的な知識があります。私はRに非常に慣れているので(そして一般的にデータの操作と分析にそれを好む)、SPSSファイルをタブ区切りファイル(サイズ〜85MB)として保存し、RODBCパッケージの機能を使用してクエリを実行しようとしました。
Windowsのコントロールパネルの[管理ツール]グループ内の[データソース(ODBC)]アプリケーションを使用して、Microsoftテキストドライバーでテーブル(タブ区切りファイル)を持つデータベース(Windowsフォルダー)をセットアップします。
現在対象のテーブルには、日付が「%Y /%m /%d」でフォーマットされている「Date」フィールド(「DateTime」と呼ばれる)があります。このフィールドの条件を使用してデータベースに最初にクエリを実行しようとしたときに、観測値がゼロの結果セットが返されました。そこで、「DateTime」をデータ型「Character」に変更し、クエリを再試行しました(役に立たなかった)。
データベースを正常にクエリできます。
sqlQuery(channel = cn, query = "SELECT * FROM large_table.txt", as.is = TRUE, stringsAsFactors = FALSE, max = 20)
結果を返します。次のクエリは、観測値がゼロの結果セットを返します(「DateTime」フィールドに値「2011/04/01」を持つレコードが少なくとも1つあることを確認しました)。
sqlQuery(channel = cn, query = "SELECT DateTime FROM large_table.txt WHERE DateTime = {d '2011-04-01'}", as.is = TRUE, stringsAsFactors = FALSE)
sqlQuery(channel = cn, query = "SELECT DateTime FROM large_table.txt WHERE DateTime = '2011/04/01'", as.is = TRUE, stringsAsFactors = FALSE)
結果セットに観測値がない理由を誰かに教えてもらえますか?
データベース接続またはクエリを改善するための提案は大歓迎です。別のデータベースクエリパッケージの代わりにRODBCパッケージを使用することを好みますが、必要に応じて新しいことを試してみます。
sql-server - sqlSaveのエラー
私は次のようなsqlSave
マトリックスを追加するために戦っています:B
SQLテーブルに。
したがって、次のコマンドを実行します。
次のエラーが発生します。
テーブルが消去されたくなかったので、たとえappend=TRUE
そこにあったとしても、SQLテーブルを消去して、同じコードを再度実行しようとしました。
次のエラーが発生します。
だから私は混乱しています。Rを追加したいときは、テーブルが存在するためにできないと言い、テーブルが存在しないときは、テーブルが存在しないために情報を入れることができないと言います。SQLにアクセスして何も起こらなかったことを確認しましたが、Rが正しい列名(Noinscr)でテーブルを作成したのに、テーブルが空であることがわかりました。
私が間違っていることを教えてください。ありがとうございました
sql - RODBCを使用した並列データベース呼び出し
私は約3*10^6行11列のパネルデータのチャンクを操作しています。このデータはSQLデータベースに保存されます(私が使用するデータはさらに大きなデータセットのサブセットです)。すべてを一度にインポートせずにデータのチャンク(各日付を個別に)を処理したいのですが、各チャンクで実行する必要のある操作は計算量が多いため、foreachパッケージを使用したいと思います。
ただし、SQL呼び出しを並行して実行するといくつかの問題が発生します。()のような単純な呼び出しを行うと、sqlQuery(channel, "select 1")
それを並行して実行できます。より複雑なステートメントを実行すると、SIGPIPEエラーが発生します。他の誰かが同様の問題に遭遇しましたか?
sql-server-2008 - RODBC を使用して SQL ストアド プロシージャの結果を data.frame 形式に取得する
RODBC パッケージを使用して、SQL サーバーで結果を照会しています。SQL Server Mgmt で実行すると、特定のストアド プロシージャが記述されています。studio (たとえば) はテーブルを返します。ただし、Rを介してクエリを実行すると、返されますcharacter(0)
奇妙なことは... 私が何かをするとき...
結果の表を取得します...
ヘルプ?
excel - ROBDC SqlSave:データをExcelシートにエクスポートする方法は?
Rから1つのExcelファイルに(別のシートに)データをエクスポートしようとしています:
これはエラー時に生成されます:
問題は、tablename = x[1]
リスト名をシート名に変換する方法にありますか?