問題タブ [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 - Rの既存のテーブルでsqlSave関数を使用する方法
sqlSave を使用して新しいテーブルを作成し、そのテーブルにデータを追加できますが、タブレットに追加の列 (たとえば、「ID」自動インクリメント列など) が必要です。テーブルを作成してテストした後、これらの列を手動で追加しています。保存して追加できます)。これらの列を追加した後に sqlSave を使用しようとするとすぐに、sqlSave を使用してさらにデータを追加しようとするとエラーが発生します
そこで、データ フレームに ID 列を追加し (その列がデータベース テーブルと一致するように)、「NULL」、NULL、および「」に設定しようとしました。同じエラーが発生し続けます。
何か案は?
ありがとう、エリック
PS私はRODBCをMySQL OOBCドライバーバージョン5.1で使用しています
r - ExcelのRODBCを介したデータのエクスポート
Rで計算を実行した後、いくつかの書式設定を行い、グラフを追加するために、結果をExcelファイルにエクスポートします。私は次のページを作りました
http://learnr.wordpress.com/2009/10/06/export-data-frames-to-multi-worksheet-excel-file/
次のコードを報告します
私はそれを実装するのにいくつかの困難があります実際にはそれは次のようなエラーを返します:
ヒントはありますか?
r - sqlQuery データ フレームを格納する方法は?
SQLクエリの作成に使用する日付の配列を繰り返します。
日付 <- c("2010-06-29", "2010-07-09", "2010-07-22")
fn1(日付)
すべてを1つのデータフレームに収めるには? 誰かが私を助けることができますか?
sql - rodbc 日付フィルター
RODBC を介して MS SQL データベースにクエリを設定しようとしています。残念ながら、適切な日付フィルターを設定できません。引用符と一重引用符、DATE 関数、括弧で日付を入力しようとしましたが、うまくいきません。
コードは次のとおりです。
通常、次のエラー メッセージが表示されます。
日付フィルターの後に、OR で区切られた他のいくつかのフィルターがあります (例から除外されています)。
r - OracleデータベースへのRODBC接続が機能せず、Rがクラッシュする
WindowsXP上のODBCを介してOracle10gデータベースからデータをプルするスクリプトがいくつかありますが、これらはかなり長い間うまく機能しています。最近、同じデータベースの別のスキーマからデータをプルするために新しいOracleアカウントを設定しましたが、そのアカウントと別のスキーマを使用してテストすると、奇妙な結果が得られ、(確実に)Rを完全に強制終了することがあります。
odbcConnectを使用してデータベースに接続し、believeNRowsとrows_at_timeを試しましたが違いはありません
次に、いくつかのクエリを試してみます(できる限り簡単です。これは、ゼロ行を返します(このテーブルには2つの行があります)。ほとんどの列名は、Anの代わりに使用されます。
これは機能しますが、ゼロ行を返し、2つの日付列はLとL.1に切り捨てられます
これは正常に機能し、データを返します
これはRを殺すようです(正直に言って)
Rが死ぬ。(StatEtとRGuiの両方で)
だから私の質問;
a)何が悪いのか誰か知っていますか?
b)誰かが私が診断するために取ることができる他のステップを知っていますか?
sql-server - RODBC odbcDriverConnect() 接続エラー
私は使用しようとしています
リモート データベース サーバー (SQL Server 2008) に接続します。しかし、私は得ました
[RODBC] エラー: 状態 08001、コード 17、メッセージ [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server が存在しないか、アクセスが拒否されました。
エラー。何か案が?
使うことができます
ローカル データベース サーバー (SQL Server 2008) に接続します。
r - ルックアップ変数の名前が異なる可能性があるため、ルックアップが機能しない
私は、自分で作成していないデータベースをよく使用します。データベースでは、多くの場合、データは男性 = 1、女性 = 2 のようにコード化されています。変数のレベルのコーディングではなく、実際のレベル名が必要な動的レポートを多数作成しています。私は手動で変数のすべてのレベルを再コーディングしてきましたが、これをより自動化された方法で行う方法が必要です。
コーディングが実際に何であるかを見つけるための鍵は、これが別の表に提供されていることです. そのデータを RODBC 経由で R にインポートすると、テーブルの列 (たとえば) 性別に 1 と 2 が含まれます。私は、いくつかの厄介な特性を持つルックアップ テーブルを介して、それらを男性と女性に変換する方法を見つけようとしています。
この場合、データ ファイルは次のようになります。
ID | 性別 |
---|---|
1 | 1 |
2 | 1 |
3 | 2 |
4 | 1 |
ルックアップテーブルは次のようになります。
名前 | コード | 説明 |
---|---|---|
性別 | 1 | 男 |
性別 | 2 | 女性 |
変数X | 1 | なんでもいい |
変数X | 2 | なんでもいい |
変数X | 3 | なんでもいい |
そこで、データ ファイルの変数名とルックアップ テーブルの Name 列に基づいて 2 つのテーブル間のリンクを使用して、コードを data$Gender で見つかった値と照合することにより、ルックアップ テーブルで Description を検索したいと考えています。これは、変数ごとに実行することで実行できます。
data$Gender<- lookup(data$Gender, subset(lookuptable,Name=="Gender")) (lookup はパッケージ 'epicalc' の関数です)
これはすべて「Name == "Gender"」ビットです...変数名と列の名前の文字列が同じ場合、すべての変数名をループするループを作成することは大きな問題ではありません。ただし、私の場合、列 Name の文字列の名前は、変数の名前と一致しないことがよくあります。では、ルックアップ テーブルが次のような場合はどうすればよいでしょうか。
名前 | コード | 説明 |
---|---|---|
セックス | 1 | 男 |
セックス | 2 | 女性 |
変数X | 1 | なんでもいい |
変数X | 2 | なんでもいい |
変数X | 3 | なんでもいい |
Access では、ルックアップ テーブルと実際のデータを含むテーブルとの間のリンクは、テーブル デザインの [ルックアップ] タブの [行ソース] 行を介して行われます。異なる変数には異なるルックアップ値が必要になるため、この値ソースは変数のレベルで指定されます (私の場合、1 つのルックアップ テーブルで見つけることができます)。
このRowソース行をRにインポートする方法があれば、私の質問は解決されると思います。これにより、(上記の例で) Gender がルックアップテーブルで実際に Sex と呼ばれることが指定されます。
知りたい場合は、Row Source 行 (データ テーブル内の変数ごとに指定できます) は次のようになります。
SELECT lookuptable.Code, lookuptable.Description FROM [lookuptable] WHERE (((lookuptable.Name)="Sex"));
どうすれば問題を解決できますか? Accessの各テーブルから各変数のRow Source行をインポートすると便利だと思いますが(可能であれば)、おそらくそうではありません(わかりません)...
R バージョン 2.15.2 (2012-10-26)
プラットフォーム: i386-w64-mingw32/i386 (32 ビット)
epicalc_2.15.1.0
RODBC_1.3-6
unixodbc - unixODBC-qui-qt インストール - Qt プログラムをコンパイルできません
RODBC を使用して Excel スプレッドシートにアクセスできるように、Mac OSX Mountain Lion 用に unixODBC をセットアップしようとしています。
さまざまなドキュメントや Web サイトで多くの調査を行い、次の手順を理解しました。
- unixODBC 2.3.1 をインストールします。
- FreeTDS 0.91 をインストールします (無料の ODBC ドライバーをテストするだけです)。
使用する ODBC ドライバーを指定します。tds.driver.template を作成し、unixODBC に正常にインストールしました。下記参照:
[FreeTDS] 説明 = v0.63 プロトコル v8.0 ドライバー = /usr/local/freetds/lib/libtdsodbc.so
$ sudo odbcinst -i -d -f tds.driver.template
$ odbcinst -q -d [FreeTDS]
最後に、特定の DSN に接続します。しかし、以下のように unixODBC-gui-qt を設定しようとすると:
次のエラーが発生します。
上記のインストールの前に、Mac OSX 用の autoconf、automake、libtool、および Qt ライブラリ 4.8.4 をインストール済みです。
最初の質問: いくつかの時点で手順を見逃したり、設定を誤ったりしませんか?
私は今 R を学んでいますが、Mac で ODBC を設定するのに 2 日間を費やしています。DSN を指定するためのドライバ マネージャや GUI ツールなど、unixODBC のすべてのツールを使用したいだけです。代わりに、emacs を使用して odbc.ini を編集する必要がありますか?
2 番目の質問: DSN を指定した後、RODBC を使用して Excel スプレッドシートにアクセスできるのはそれだけですか? 現在、次のエラーがあります。また、iODBC の代わりに unixODBC を使用するように RODBC を構成するために何らかの手順が必要かどうかはわかりません。
ご協力ありがとうございました。
mysql - R sqlSave 文字列変数のループの問題
数年ぶりに R の世界に戻ってきたところですが、sqlSave を使用してループを介して変数を渡す際に問題が発生しています。Win7 ボックスで RODBC を立ち上げ、MySQL でスムーズに実行していますが、ループが機能していないようです。私が持っているデータと私が達成しようとしていることは次のとおりです。
- 複数のテーブルを持つ「mlb12」と呼ばれる単一の「値」として保存された、pitchRX ライブラリを使用した 2012 年の MLB 実況データ
- 「mlb12」には、7 つのテーブル (打席、ピッチ、ゲーム、プレーヤー、ランナー、審判、コーチ) があります。
- R 内でこれらの各テーブルのデータ フレームを作成するループを作成したいので、それらを sqlSave を使用してループに渡し、MySQL データベースに挿入できます。
- これらのテーブルはすべて MySQL データベースに既に挿入していますが、「長い」方法で (つまり、各 DF を宣言し、挿入ごとに sqlSave ステートメントを作成する) 行っており、コードをクリーンアップするために 2 つのループでそれらを実行することを好みます。 .
- 以下は、このデータをスクレイピングして MySQL データベースに挿入するために現在必要なコードです。
library(RODBC)
データ フレームの設定と sqlSave ステートメントの単純化の両方のために記述しようとしたループは、どちらも適切に実行できませんでした。これは私が試したものの例で、うまくいくと思いました:
このループの問題は、c[[i]] 増分フィールドを使用して "b" 値を取得し、リストから各テーブルのデータ フレームを作成する方法を思い出せない (またはその方法を理解できない) ことです。この問題を解決できれば、「sqlSave」セクションでループを機能させることができると確信しています。自動インクリメンタル フィールド (または 2 番目のリストに基づくフィールド) でやろうとしていることを行う方法はありますか?
r - tnsping は解決するが、スクリプトを使用して接続できない
R/Python スクリプトから Oracle データベースに接続できません。以下はコードです。TNSPing ユーティリティは、LDAP を使用してデータベースを解決できます。TNSPING出力も貼り付けています。
TNSPing 出力
R スクリプトの出力
Oracle 11g ドライバー
chan <- odbcDriverConnect("driver=OraHome112_32 の Oracle;DBQ=UHK00500_SECCOMPAS_APPL;UID=toolkit;PWD= ** ") 警告メッセージ: 1: odbcDriverConnect("driver=OraHome112_32 の Oracle;DBQ=UHK00500_SECCOMPAS_APPL;UID=toolkit;PWD = ** ") : [RODBC] エラー: 状態 08004、コード 12154、メッセージ [Oracle][ODBC][Ora]ORA-12154: TNS: 指定された接続識別子を解決できませんでした 2: odbcDriverConnect("driver=Oracle in OraHome112_32;DBQ=UHK00500_SECCOMPAS_APPL;UID=toolkit;PWD= ** "): ODBC 接続に失敗しました
ODBC ドライバーの出力
chan <- odbcDriverConnect("Driver={Microsoft ODBC for Oracle};Server=UHK00500_SECCOMPAS_APPL;Uid=toolkit;Pwd= ** ") 警告メッセージ: 1: odbcDriverConnect("Driver={Microsoft ODBC for Oracle};Server=UHK00500_SECCOMPAS_APPL ;Uid=toolkit;Pwd= * ") : [RODBC] エラー: 状態 08001、コード 12154、メッセージ [Microsoft][Oracle 用 ODBC ドライバー][Oracle]ORA-12154: TNS: 指定された接続識別子を解決できませんでした 2: odbcDriverConnect("Driver={Microsoft ODBC for Oracle};Server=UHK00500_SECCOMPAS_APPL;Uid=toolkit;Pwd= ** ") : ODBC 接続に失敗しました
この問題を修正するためにここで何を確認する必要があるかアドバイスをいただけますか?