none
R Studioで接続文字列に2バイト文字のデータベース名の指定方法について RRS feed

  • 質問

  • お疲れ様です。

    R Studioを使用して接続すると、"Could not open data source."のエラーが発生して接続することができません。

    接続文字列のDatabaseに2バイト文字(データベース1)を指定すると発生します。

    Databaseに英数字半角文字列を指定した場合、エラーは発生せず、正しく接続できます。

    Databaseの指定方法は、次のものを試しましたが、すべて同じエラー結果でした。

    Database='データベース1';
    Database=\"データベース1\";

    原因と対策方法について、ご教示いただけませんでしょうか。

    connStr <- "Driver=SQL Server;Server=sv1;Database=[データベース1];Trusted_Connection=true"
    cc <- RxInSqlServer(connectionString=connStr)
    sampleQuery <- "select * from [sv1].[dbo].[tb1]"
    rxSummary(formula = ~ ., data = RxSqlServerData(sqlQuery=sampleQuery, connectionString=connStr), computeContext=cc)

    [Microsoft][ODBC SQL Server Driver][SQL Server]
    [Microsoft][ODBC Driver Manager]
    ODBC Error in SQLDisconnect

    Could not open data source.
    Error in doTryCatch(return(expr), name, parentenv, handler) :
      Could not open data source.

    R Studio 1.2.5001 build 1468

    宜しくお願い致します。

    2020年5月6日 3:11

すべての返信

  • hnaganoさん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    ご質問いただいた件ですが、その後いかがでしょうか。
    追加でご確認いただいたことなどあれば、追記いただくことで回答がつきやすくなります。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2020年5月8日 7:26
    モデレータ
  • hnaganoさん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    ODBC接続のDSNを構成して、データベースをデフォルトのデータベースとして設定することができます。

    以下の記事をご参照いただければと思います。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2020年5月13日 5:50
    モデレータ
  • Harukaさん

    お世話になっております。

    解決策のご提示ありがとうございます。

    試してみましたところ、以下のエラーが発生して接続することができませんでした。

    予めODBCデータソース(64ビット)を「SQL_8」という名前で作成して、データソース作成時に最後のテストで接続は成功しています。

    R Studioから実行した結果のエラーは次の通りです。

    connStr <- "SQL_8;Trusted_Connection=true"
    cc <- RxInSqlServer(connectionString=connStr)
    sampleQuery <- "select * from [sv1].[dbo].[tb1]"
    rxSummary(formula = ~ ., data = RxSqlServerData(sqlQuery=sampleQuery, connectionString=connStr), computeContext=cc)
    [Microsoft][ODBC SQL Server Driver]DSN [Microsoft][ODBC SQL Server Driver]
    [Microsoft][ODBC Driver Manager]
    ODBC Error in SQLDisconnect

    Could not open data source.
    Error in doTryCatch(return(expr), name, parentenv, handler) :
      Could not open data source.

    原因と対策方法がわかれば教えてください。

    2020年5月19日 6:53
  • hnaganoさん、こんにちは。フォーラムオペレーターのHarukaです。
    ご返信いただきありがとうございます。

    つまり、DSNを構成し、このデータベースをデフォルトデータベースとして設定したということですね。 データソースのテストは成功しましたか。

    はいの場合、DSNは正しく構成されています。 
    これは、RからSQL Serverに接続する際の問題です。
    正しい接続パラメーターを使用していますか。この記事を確認してください。

    さらに、DSNはユーザーDSNまたはシステムDSNを構成しましたか。 
    ユーザーDSNの場合は、システムDSNを設定してみてください。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2020年5月20日 6:16
    モデレータ