我使用H2数据库来处理包含大量时间序列的环境数据.时间序列只是传感器的测量值,它们定期记录在数据库中(比如每小时一次).
存储在表中的数据:
CREATE TABLE hydr
(dt timestamp
,value double
,sensorid int)
Run Code Online (Sandbox Code Playgroud)
我想对表进行范围查询,例如:
select * from hydr
where dt between '2010-01-01' and '2010-10-01'
Run Code Online (Sandbox Code Playgroud)
为了提高性能,我想在dt列上构建聚簇索引,但问题是,如果H2支持聚簇索引,我还没有找到.有人知道H2中是否支持聚簇索引?
我有两个表(任务和时间条目),它们通过外键连接(TimeEntries.TaskID引用Tasks.ID)
现在,我想删除任务中未被TimeEntries表引用的所有行.我认为这应该有效:
DELETE FROM Tasks WHERE ID not IN (SELECT TaskID FROM TimeEntries)
Run Code Online (Sandbox Code Playgroud)
但它会影响0行,即使Tasks表中有很多未引用的行.
这可能是什么问题?当然我可以写一个迭代所有行的SP,但看起来这可以在一个衬里完成.
我想这是睡眠时间下溢错误之一.请帮忙!
为你设置一个单独的配置文件是好的设计吗?
我注意到从应用程序调用dll时,它不会读取它.
dll能够读取的是machine.config文件.
这是我昨天问过的这个问题的后续问题.我已经找到了我认为让我感到悲伤的问题,我认为我可以更清晰地解释这种情况.
我似乎无法弄清楚如何使用C#ASP.NET MVC 2项目中的实体框架编写与SQL数据库有多对多关系的对象.
这是我尝试过的:
我有一个非常简单的数据库,只有两个表.具有列名称和描述的业余爱好以及具有名称和姓氏的列的人员.我创建了一个默认的.edmx,选中了所有内容.(两者都使用int作为主键(HobbieID,PersonID),我在数据库中设置为自动递增.)
然后,我可以成功使用以下代码:
SampleEntities entities = new SampleEntities();
Hobby h1 = new Hobby() { Name = "Tennis", Description = "Not golf" };
Person p1 = new Person() { First = "Jack", Last = "Black" };
entities.Hobbies.AddObject(h1);
entities.People.AddObject(p1);
entities.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
两个都正确地添加到数据库中.现在它打破了.
我添加了一个名为JunctionHobbiesPeople的数据库,它有两列(HobbieID,PersonID),我使用数据库设计器中的关系弹出窗口创建外键.然后我将JunctionHobbiesPeople表添加到实体设计器(通过右键单击更新,使用GUI),它以图形方式显示正确的多对多关系.
然后我尝试以下代码:
SampleEntities entities = new SampleEntities();
Hobby h1 = new Hobby() { Name = "Tennis", Description = "Not golf" };
Person p1 = new Person() { First = "Jack", Last = "Black" };
p1.Hobbies.Add(h1); …Run Code Online (Sandbox Code Playgroud) 我想知道方法的泛型返回类型的类,如下所示:
<T> T getEntry() { System.out.println(T.class) }
Run Code Online (Sandbox Code Playgroud)
问题是,这不是泛型类,这只是一个泛型方法,所以我无法从类中提取泛型类型.我想要实现的是在不需要类的情况下知道调用者想要的具体类型,例如:
<T> T getEntry(Class<?> clazz);
Run Code Online (Sandbox Code Playgroud)
那可能吗?
可能重复:
在Android上使用蓝牙的服务发现失败异常
好吧,过去两三天我一直在阅读很多话题,似乎没有人问过这个问题.
我正在为我的andriod设备编写PC端服务器,这是用于交换一些信息和一般调试.最终我将连接到SPP设备来控制微控制器.
我已经管理,使用以下(Android到PC)连接到rfcomm通道11并在我的Android设备和我的电脑之间交换数据.
方法m = device.getClass().getMethod("createRfcommSocket",new Class [] {int.class}); tmp =(BluetoothSocket)m.invoke(device,Integer.valueOf(11));
我尝试了createRfcommSocketToServiceRecord(UUID)方法,绝对没有运气.
对于PC端,我一直在使用C Bluez堆栈用于linux.我有以下代码注册服务并打开服务器套接字:
int main(int argc, char **argv)
{
struct sockaddr_rc loc_addr = { 0 }, rem_addr = { 0 };
char buf[1024] = { 0 };
char str[1024] = { 0 };
int s, client, bytes_read;
sdp_session_t *session;
socklen_t opt = sizeof(rem_addr);
session = register_service();
s = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM);
loc_addr.rc_family = AF_BLUETOOTH;
loc_addr.rc_bdaddr = *BDADDR_ANY;
loc_addr.rc_channel = (uint8_t) 11;
bind(s, (struct sockaddr *)&loc_addr, sizeof(loc_addr));
listen(s, …Run Code Online (Sandbox Code Playgroud) 安装程序:多个Web服务器,运行mod_wsgi,Apache和pgbouncer,它们连接到运行Postgres 8.3.6的共享数据库.应用程序正在运行Django.
我们所看到的:"闲置在交易中"查询数据库已经挂了很长时间.为了看到它们,我会运行这样的事情:
SELECT query_start, procpid, client_addr, current_query FROM pg_stat_activity
WHERE query_start < NOW() - interval '5 minutes';
Run Code Online (Sandbox Code Playgroud)
大多数结果当然只是IDL连接,pgbouncer保持开放使用,但有时候会有这些旧的"IDLE in transaction"查询.我知道这意味着有一个查询事务正在等待某事,或者有一个BEGIN但没有达到COMMIT或ROLLBACK的事情.
我的下一步是尝试使用pg_locks来确定进程正在等待的内容:
select pg_class.relname, pg_locks.transactionid, pg_locks.mode,
pg_locks.granted as "g", pg_stat_activity.current_query,
pg_stat_activity.query_start,
age(now(),pg_stat_activity.query_start) as "age",
pg_stat_activity.procpid
from pg_stat_activity,pg_locks
left outer join pg_class on (pg_locks.relation = pg_class.oid)
where pg_locks.pid=pg_stat_activity.procpid
and pg_stat_activity.procpid = <AN IDLE TRANSACTION PROCESS>
order by query_start;
Run Code Online (Sandbox Code Playgroud)
很多时候,我得到的结果看起来像这样:
relname | transactionid | mode | g | current_query | query_start | age | client_addr | procpid
---------+---------------+-----------------+---+-----------------------+------------------------------+-----------------+----------------+---------
| | AccessShareLock | …Run Code Online (Sandbox Code Playgroud) 有没有办法使用NSNumberFormatter获得'th''st''nd''rd'数字结尾?
编辑:
看起来它不存在.这就是我正在使用的.
+(NSString*)ordinalNumberFormat:(NSInteger)num{
NSString *ending;
int ones = num % 10;
int tens = floor(num / 10);
tens = tens % 10;
if(tens == 1){
ending = @"th";
}else {
switch (ones) {
case 1:
ending = @"st";
break;
case 2:
ending = @"nd";
break;
case 3:
ending = @"rd";
break;
default:
ending = @"th";
break;
}
}
return [NSString stringWithFormat:@"%d%@", num, ending];
}
Run Code Online (Sandbox Code Playgroud)
改编自nickf的答案这里 是否有一种简单的方法可以获得数字的"st","nd","rd"和"th"结尾?
我正在尝试使用activerecord-sqlserver-adapter将Windows计算机上的Rails应用程序连接到SQL Server.我已经建立了一个非常好的DSN.
当我尝试运行迁移(或任何数据库操作)时,我被告知:
"没有这样的文件加载 - odbc"
我的database.yaml文件有这个:
development:
adapter: sqlserver
mode: odbc
dsn: rails_import
Run Code Online (Sandbox Code Playgroud)
我使用了一键式ruby安装程序,我认为它会安装odbc所需的任何宝石.也许我错了.
我如何通过此错误?谷歌搜索了一个小时没有运气.提前致谢.
我已经在这里和其他网站上查看了有关此问题的其他几个问题,但没有一个问题解决了我遇到的问题.希望我只是忽略了一些简单的事情.
我遇到的方案涉及在Windows Server 2008 R2上安装新的SSRS 2008.完成安装后,我无法访问Web服务URL.当我尝试这样做时,它给了我rsAccessDenied错误.声明没有足够权限的用户具体是我的用户名.
我也无法访问Report Manager的"完整"版本.具体来说,我无权访问"网站设置"链接或上传报告的功能.
一点背景.我的用户是服务器上Administrators组的成员,也是SQL Server中的系统管理员.用户也是Reporting Services数据库的dbo.我试图从服务器本身访问Web服务URL和报表管理器,而不是通过Internet访问.
我尝试过以下方法:
任何信息,将不胜感激.
谢谢!
sql-server ×2
.net ×1
android ×1
architecture ×1
bluetooth ×1
bluez ×1
c# ×1
generics ×1
h2 ×1
ios ×1
java ×1
many-to-many ×1
objective-c ×1
postgresql ×1
spp ×1
ssrs-2008 ×1
t-sql ×1