問題タブ [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.
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 で機能しました。バージョンが競合する可能性はありますか?
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
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.
注: トリガーを変更することはできません。
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 ビット
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 が見つからないというエラーが表示されます。
助けてください。
ありがとう