問題タブ [tiny-tds]

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.

0 投票する
2 に答える
1713 参照

ruby-on-rails - Rails tiny_tds シンボル検索エラー

Tiny_tds を使用して SQL Server に対して Rails アプリまたはコンソール内でクエリを実行すると、エラーが発生します。追記:gem install tiny_tds成功しました。

未定義のシンボル: rb_thread_blocking_region

私のシステム設定:

  • セントス7.0
  • ルビー 2.2.0p0
  • レール 4.1.4

freetds と freetds-devel がインストールされます。

の MSSQL セクションはconfig/database.yml次のようになります (リモート ホストに接続しています)。

私の Gemfile:

クエリは Centos 6.3 で機能しました。バージョンが競合する可能性はありますか?

0 投票する
1 に答える
2206 参照

ruby-on-rails - `rake db:schema:dump` は、空のシステム テーブルでスキーマを作成します

既存の本番データベースのスキーマを反映するテストおよび開発データベースを作成しています。まず、本番スキーマをダンプして db/schema.rb を作成します。

これにより、各システム テーブルに空のテーブルを持つ schema.rb が作成されます。

テスト データベースと開発データベースを作成しようとすると、これらの空のテーブルが原因でエラーが発生します。

schema.rb でシステム テーブルの定義を削除すると、データベースは正常に作成されます。

rake db:schema:dump作成できない空のシステム テーブルの定義をダンプしないようにするにはどうすればよいですか?


バージョン:

  • Microsoft SQL Server 2014 - 12.0.2000.8 (x64)
  • レール (4.2.1)
  • activerecord-sqlserver-adapter (4.2.4)
  • github の tiny_tds:
    • git://github.com/rails-sqlserver/tiny_tds.git
    • コミット c4e59ba82c0cc55a5587cec1b7d5100d1b1ccaf4
0 投票する
1 に答える
531 参照

ruby-on-rails-4 - Rails 4 ActiveRecord Sql Server - バイナリを画像列に保存できません

アプリケーションを最新バージョンの Ruby & Rails にアップグレードする作業を行っています。私たちのアプリは、画像データ型の列を持つテーブルを持つレガシー データベース (SQL Server 2008 R2) と統合します (この列を varbinary(max) に変更することはできません)。以前は、バイナリをイメージ列に保存できました。ただし、現在、変換エラーが発生しています。

私たちは以下のアップグレードに取り組んでいます:

  • レール 4.2.1
  • ActiveRecord_SQLServer_Adapter (4.2.4)
  • tiny_tds (0.6.3.rc1)
  • freeTDS (v0.91.112)

画像列に保存しようとすると、次のようなエラーが発生します。

TinyTds::Error: 文字列の後の引用符が閉じていません

tiny_tds と activerecord_sqlserver_adapter 内のさまざまな問題を調査した結果、最初のテーブルと一致するがデータ型を image から varbinary(max) に変更する 2 番目のテーブルを作成することにしました。バイナリを列に保存できます。

課題の原因となっているコードは、s3 から画像を取得してローカルに保存し、画像をデータベースにプッシュするバックグラウンド ジョブにあります。繰り返しますが、レガシーデータベースを制御していないため、データ型を変更することはできません (または、そもそもデータベースに画像を保存する理由の問題に直面します)。

アップグレードにより保存イメージが破損したため、修正を決定する最善の方法を見つけようとしています。機能するバージョンが見つかるまで、明らかにロールバックできます。ただし、修正が見つかることを願っています。誰にもアイデアはありますか?

更新: 挿入されるテーブルにトリガーがあったため、次の構成を追加しました。ActiveRecord::ConnectionAdapters::SQLServerAdapter.use_output_inserted = true

この構成を削除すると、次のエラーが発生します。 TinyTds::Error: The target table 'doc' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause.

注: トリガーを変更することはできません。

0 投票する
0 に答える
248 参照

ruby - 続編: tinytds を使用したビューで「order by」を使用する方法

order by続編、tinytds、およびMSSQLを使用して-clauseを使用してビューを作成する必要があります

そうすると、エラーが発生します

私のサンプルコード:

SQL側のソリューションを見るのは簡単です。の代わりに

私は〜が必要です


廃止された列が追加されたソリューションを見つけました(列がないdummyと、無効なコンマが表示されます):

同様の解決策は、次の方法で作成できますlimit

しかし、私はより良い解決策を探しています。別のより良い可能性はありますか?

重要な場合:

  • ルビー2.1
  • 続編 4.19
  • tiny_tds-0.6.2-x64-mingw32
  • MSSQL 10.50.2500.0、64 ビット
0 投票する
2 に答える
133 参照

macos - Mac OS X Yosemite v10.10.2 に tiny_tds をインストールできない

MAC OS X ヨセミテで RubyMine IDE を使用しています。tiny_tds をインストールしようとすると、次のエラーが発生します

sudo gem install tiny_tds -v '0.6.2'

ネイティブ拡張機能の構築。これにはしばらく時間がかかる場合があります...

エラー: tiny_tds のインストール中にエラーが発生しました:

エラー: gem ネイティブ拡張のビルドに失敗しました。

/システム/ライブラリ/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb

iconv.h で iconv_open() をチェックしています... いいえ

-liconv で iconv_open() をチェックしています...はい

sybfront.h をチェックしています...はい

sybdb.h をチェックしています...はい

-lsybdb で tdsdbopen() をチェックしています...いいえ

freetds がありません。

* extconf.rb が失敗しました * 何らかの理由で Makefile を作成できませんでした。必要なライブラリやヘッダーが不足している可能性があります。詳細については、mkmf.log ファイルを確認してください。構成オプションが必要な場合があります。

提供される構成オプション:

--with-opt-dir

--opt-dir なし

--with-opt-include

--without-opt-include=${opt-dir}/include

--with-opt-lib

--without-opt-lib=${opt-dir}/lib

--with-make-prog

--make-prog なし

--srcdir=.

--curdir

--ruby=/システム/ライブラリ/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby

--enable-lookup

--disable-lookup

--with-iconv-dir

--without-iconv-dir

--with-iconv-include

--without-iconv-include=${iconv-dir}/include

--with-iconv-lib

--without-iconv-lib=${iconv-dir}/

--with-freetds-dir

--without-freetds-dir

--with-freetds-include

--without-freetds-include=${freetds-dir}/include

--with-freetds-lib

--without-freetds-lib=${freetds-dir}/

--with-iconvlib

--with-iconvlib

--with-sybdblib

--without-sybdblib

Gem ファイルは、検査のために /Library/Ruby/Gems/2.0.0/gems/tiny_tds-0.6.2 にインストールされたままになります。結果は /Library/Ruby/Gems/2.0.0/gems/tiny_tds-0.6.2/ext/tiny_tds/gem_make.out に記録されます

freetdsをインストールしました

brew install freetds

醸造リストを作成すると表示されます

しかし、再び sudo gem install tiny_tds を実行すると、freetds が見つからないというエラーが表示されます。

助けてください。

ありがとう