小编JGu*_*ezC的帖子

PostgreSQL在函数外部循环.那可能吗?

我正在对PostgreSQL与SQLServer进行比较,以便进行迁移.现在我正在评估T-SQL与PL/pgSQL,事实是在T-SQL中你可以使用循环或声明变量,例如:

declare @counter int
set @counter = 0
while @counter < 10
begin
   set @counter = @counter + 1
   print 'The counter is ' + cast(@counter as char)
end
Run Code Online (Sandbox Code Playgroud)

没有必要将它放在函数或过程中.我可以在PostgreSQL中做到吗?

在网上搜索我在MySQL中找到了一个否定的答案,但我没有找到Postgres的答案.

t-sql postgresql loops function plpgsql

6
推荐指数
1
解决办法
7840
查看次数

为什么我得到org.hibernate.HibernateException:读取二进制值时发生IOException

我在我以前从未见过的日志中发现了这个异常,我正在使用Hibernate 4.1.7

这是否表明我的数据库已损坏,或者这是Hibernate中的错误.我在http://lists.jboss.org/pipermail/hibernate-issues/2010-November/026487.html上找到了对此错误的引用,但这引用了更早版本的hibernate并且针对Hibernate 4.0进行了修复

org.hiorg.hibernate.HibernateException: IOException occurred reading a binary value
    at org.hibernate.type.descriptor.java.DataHelper.extractBytes(DataHelper.java:187)
    at org.hibernate.type.descriptor.java.PrimitiveByteArrayTypeDescriptor.wrap(PrimitiveByteArrayTypeDescriptor.java:124)
    at org.hibernate.type.descriptor.java.PrimitiveByteArrayTypeDescriptor.wrap(PrimitiveByteArrayTypeDescriptor.java:41)
    at org.hibernate.type.descriptor.sql.BlobTypeDescriptor$5.doExtract(BlobTypeDescriptor.java:118)
    at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:65)
    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:269)
    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:265)
    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:238)
    at org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:357)
    at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2807)
    at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1545)
    at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1477)
    at org.hibernate.loader.Loader.getRow(Loader.java:1377)
    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:644)
    at org.hibernate.loader.Loader.doQuery(Loader.java:854)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
    at org.hibernate.loader.Loader.doList(Loader.java:2382)
    at org.hibernate.loader.Loader.doList(Loader.java:2368)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2198)
    at org.hibernate.loader.Loader.list(Loader.java:2193)
    at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:122)
    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1618)
    at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:374)
    at com.jthink.songkong.db.SongCache.loadSongsFromDatabase(SongCache.java:57)
    at com.jthink.songkong.analyse.analyser.SongGroup.getSongs(SongGroup.java:48)
    at com.jthink.songkong.analyse.analyser.DiscogsSongGroupMatcher.call(DiscogsSongGroupMatcher.java:63)
    at com.jthink.songkong.analyse.analyser.DiscogsSongGroupMatcher.call(DiscogsSongGroupMatcher.java:28)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)
Caused by: java.io.IOException: …
Run Code Online (Sandbox Code Playgroud)

java hibernate blob lob blobstorage

6
推荐指数
1
解决办法
3011
查看次数

更新到Openrowset SQL SERVER 2008

我正在尝试从本地查询对远程表执行UPDATE操作.显然我知道它应该是一个OPENROWSET但我不知道该怎么做.

我知道你可以插入OPENROWSET做这样的事情:

 set @cadsql = convert(varchar(max),
  'insert into openrowset(''SQLOLEDB'','''+@cadcon+''','+@bd+'.ctoxtractor.lm_vehiculos) ' + char(13) + 
  '           (cuenta,corporativo,economico,ctatipotractor,sctatipotractor,ultcambio,ciausu,usuario,estatusoper) ' + char(13) + 
  'select 423,fv.vehic,fv.numeco,9802,0,getdate(),0,''ADMIN'',fv.estatusoper ' + char(13) + 
  'from ficvehic fv ' + char(13) + 
  'order by fv.vehic ')

 exec (@cadsql) 
Run Code Online (Sandbox Code Playgroud)

或者我可以做这样的选择:

SET @cadsql = 'SELECT * FROM OPENROWSET(''sqloledb'',''driver=sql server;server='+@server+';database='+ @database +';uid='+@user+';pwd='+@password+''',' +
'''SELECT Column1, column2,...  
   FROM table'')'

INSERT INTO another_table
exec (@cadsql)
Run Code Online (Sandbox Code Playgroud)

但我没有提出更新的解决方案.那可能吗?

提前致谢!

openrowset sql-server-2008 sql-update

5
推荐指数
1
解决办法
2万
查看次数

rake db:reset删除所有表但不删除数据库

我需要删除数据库中的所有表而不删除数据库,因为此数据库的用户没有create database特权.

删除所有表但不删除实际数据库的最佳方法是什么?

此外,我们使用rake db:seed一些表添加一些条目,所以我不想使用种子文件.

postgresql rake ruby-on-rails

5
推荐指数
1
解决办法
4682
查看次数

错误:要导入的文件未找到或不可读:mycustom.scss.running:rake assets:precompile

我有上述错误.我已经看到很多问题,答案是"重启rails服务器".但这不是我的情况,因为这不是rails服务器错误.

由于我的项目在Heroku中工作得不好(下拉列表不能正常工作),但是在本地环境中我做得非常好,我正在尝试在部署之前编译所有资产,bundle exec rake assets:precompile但它会抛出错误:

~/.rvm/rubies/ruby-1.9.3-p448/bin/ruby ~/.rvm/gems/ruby-1.9.3-p448@global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
rake aborted!
File to import not found or unreadable: mycustom.scss.
Load path: ~/RubyProjects/sample_app_2
  (in ~/RubyProjects/sample_app_2/app/assets/stylesheets/application.css)
Run Code Online (Sandbox Code Playgroud)

我认为这是一个sass问题,所以我运行bundle exec sass app/assets/stylesheets/mycustom.scss

但它会抛出错误:

Syntax error: File to import not found or unreadable: bootstrap
Load path: ~/RubyProjects/sample_app_2
Run Code Online (Sandbox Code Playgroud)

所以我认为问题是引导程序不包含在项目的某个地方.因为如果我跑

bundle exec sass ~/.rvm/gems/ruby-1.9.3-p448@scaffold-example/gems/bootstrap-sass-2.0.0/vendor/assets/stylesheets/_bootstrap.scss
Run Code Online (Sandbox Code Playgroud)

它显示了4000多行的CSS.

难道我做错了什么?

我应该做点别的吗?

这是我的Gemfile

  source 'https://rubygems.org'

  gem 'rails', '3.2.3'
  gem 'bootstrap-sass', '2.0.0'
  gem 'bcrypt-ruby', '3.0.1'
  gem 'sass-rails', '3.2.4'
  #gem 'bcrypt-ruby', '3.1.1.rc1', :require => 'bcrypt'
  #gem 'bcrypt-ruby', '3.1.0', :require => 'bcrypt' …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails sass asset-pipeline bootstrap-sass

3
推荐指数
1
解决办法
2786
查看次数

红宝石中的三元评价

我对红宝石中的一些三元表达很困惑.

我有这个表达式:

puts respond_to? "greeting".to_sym ? "hello" : "bye"
Run Code Online (Sandbox Code Playgroud)

当然,这不是我在我的应用程序中所做的,只是为了让你看到.

问题是上面的表达式返回

false
Run Code Online (Sandbox Code Playgroud)

什么时候应该返回,hello如果方法存在,bye如果它不对吗?

如果我改变表达式

puts respond_to?("greeting".to_sym) ? "hello" : "bye"
Run Code Online (Sandbox Code Playgroud)

它返回正确的东西,如果它存在则为"hello",否则为"bye".

为什么会这样?有什么关于红宝石中的三元表达我不知道吗?

只是为了让您知道我的应用程序中的正确代码是:

respond_to?(path.to_sym) ? self.send(path) : "#"
Run Code Online (Sandbox Code Playgroud)

这将返回db存储的标题菜单的正确路径,如果它不存在,它将只是放置一个"#"以避免错误.

ruby ruby-on-rails

2
推荐指数
1
解决办法
103
查看次数

错误:导入的文件未找到或不可读.仅限scss文件

即使文件为空,我也有错误导入扩展名为scss的文件.但是,如果我将该空文件的扩展名更改为css,那就行了!

当我将rails版本从3.2.3更改为3.2.15时,一切都开始发生了,因为bootstrap的下拉不起作用.

运行rails s命令没问题.但是,当我尝试推送到Heroku时,它会抛出错误:

要导入的文件未找到或不可读:custom.scss.

这是我的application.css文件:

/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the top of the
 * compiled file, …
Run Code Online (Sandbox Code Playgroud)

rake ruby-on-rails sass heroku asset-pipeline

1
推荐指数
1
解决办法
3535
查看次数