Tag: 数据库

在MySQL数据库上存储歌曲(BLOb支持)

我想在MySQl db上存储歌曲和歌词。 我用google搜索示例如何做到这一点,但没有帮助。但是,我能够存储图像: con = DriverManager.getConnection(connectionURL, “root”, “”); PreparedStatement ps = con.prepareStatement(“INSERT INTO image VALUES(?,?)”); File file = new File(“E://guitar.gif”); FileInputStream fs = new FileInputStream(file); ps.setInt(1,id); ps.setBinaryStream(2,fs,fs.available()); int i = ps.executeUpdate(); ps.close(); con.close(); //rest code 任何人都可以帮助我如何存储歌曲?例如?以及如何检索它?

BitmapFactory无法解码流:Android中的java.io.FileNotFoundException

我正在尝试从我的数据库在线获取图片,在我的“imagelink”中,这是我的表格中的数据字段,我把那些我上传的图片的url放在那里,但不幸的是它给了我这个错误。 02-08 15:05:29.432 14364-14364/com.example.jithea.testlogin E/BitmapFactory﹕ Unable to decode stream: java.io.FileNotFoundException: /http:/agustiniancampusevents.site40.net/newsDB/images/Visual%20Report%20Filipino%20Final-12%20copy.JPG: open failed: ENOENT (No such file or directory) 这是我在onPostExecute中的代码: protected void onPostExecute(String file_url) { // dismiss the dialog after getting all products pDialog.dismiss(); // updating UI from Background Thread runOnUiThread(new Runnable() { public void run() { /** * Updating parsed JSON data into ListView […]

定期数据库批量插入的Java并发

场景:每秒调用一个线程数千次,以便对同一个表进行插入,并且当前正在逐个执行这些操作。 目标:定期进行批量插入以提高性能。 当线程的saveItem方法被调用时,尝试使用TimerTask来将保存的对象添加到列表中,然后每隔2秒左右将它们组合成批量插入。 首先想到的是有两个列表,称之为toSave和toSaveBackup 。 当调用线程的saveItem方法来保存它时,它将被添加到toSave列表中,但是一旦TimerTask启动并需要将所有内容保存到数据库,它就会将AtomicBoolean标志saveInProgress设置为true。 saveItem检查此标志,如果saveInProgress为true,它将添加到toSaveBackup而不是toSave。 批量保存完成后,toSaveBackup中的所有项目都将移动到toSave列表,可能是列表上的同步块。 这是一种合理的方法吗? 还是有更好的最佳做法? 我的谷歌搜索技能让我失望,所以欢迎任何帮助。 其他信息: 所有这些插入都在同一个表中 插入是通过接收MQTT消息来驱动的,因此在此之前我无法将它们组合在一起 更新:对CKing以下答案的调整达到了预期的方法:TimerTask每100毫秒运行一次并检查saveQueue的大小以及自批量保存以来的时间。 如果这些值中的任何一个超过配置的限制(每2秒或每1000条记录保存等),我们就会保存。 LinkedBlockingQueue用于简化同步。 再次感谢大家的帮助!

JDBC:Oracle Application Server和“网络适配器无法建立连接”错误

我收到错误:“网络适配器无法与Oracle应用服务器10g中部署的Web应用程序建立连接”。 数据库是本地的,因此不应存在任何连接问题。 第一次测试:我可以连接到DB没有问题从SQL加,运行查询等。第二次测试:我可以从服务器上本地安装的JDeveloper连接数据库没问题,并运行查询等没问题。 这适用于简短的JDBC scring和长的scring(如下所示)。 JDBC:预言:瘦:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST =本地主机)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = ABCD)(SERVER = DEDICATED))) 然而,当我运行Web应用程序时,它会出现上述错误。 对我来说似乎太通用了。 有关如何解决这个问题的任何建议? 我假设Oracle在某处记录了失败的连接尝试,但我在数据库alert.log文件中找不到任何相关内容。 问题可能是应用程序使用旧的jsdk,但我认为然后会给出一些版本不匹配错误而不是“网络连接”消息。 编辑:我不知道这是一个OAS问题还是特定Web应用程序的问题,我想首先想出来,因为它似乎应该很容易。 在WebSphere中,有一个“测试连接”按钮来指定您添加的目标数据源,但似乎OAS10中没有这样的function? 不知何故,我认为必须有,而我只是错过了,因为我不是美洲国家组织的专家。 编辑2:我在远程计算机上安装了JDevelop并且没有任何问题连接到数据库,因此我确信这不是数据库连接本身的问题 – 看起来它必须是OAS中的问题?

从H2数据库中的大表中选择随机行

我的数据库中有一个大表(可能有数百万条记录),我需要选择#X随机行(假设#X在10到50之间),但我需要这个查询尽可能最佳。 该表如下所示: CREATE TABLE sample ( id bigint auto_increment PRIMARY KEY, user_id bigint NOT NULL, screen_name VARCHAR NOT NULL, … ); 我四处搜寻,发现这样的答案: SELECT * FROM sample ORDER BY RAND() limit X. 但它在我看来,这将获取整个表然后排序,不是吗? 我认为最好生成10或50个随机整数,然后select * from sample where rowid in () 。 但afaik,在H2中缺少rowid概念,所以我可以选择在我的表中使用ID列。 如果我可以使用单个SQL查询执行此任务,那将是非常棒的。 有什么好建议吗?

是否有可能在Android没有数据库存储?

是否可以在应用程序中存储列表,而不必拥有数据库? 否则,存储简单列表最简单的方法是什么?

Android读取大文件

我在assets文件夹中有一个包含10000多行数据的CSV文件。 我想在创建数据库时将此数据插入到SQLite数据库中。 我不能包含数据库,因为它是一个非常通用的应用程序,而且该模型需要CSV文件。 我不想读取所有10000行数据并将其从内存中插入一段。 如何有效地完成任务?

在加载jdbc:odbc驱动程序时,Class类中的forName()方法做了什么?

我正在学习如何使我的Java应用程序与MS Access数据库通信。 我不确定一个方法,Class.forName()方法。 我传递的参数是“sun.jdbc.odbc.JdbcOdbcDriver”,它加载用于访问数据库的jdbc:odbc桥。 Class.forName()究竟做了什么,为什么需要它? 非常感谢你。

Java连接池实现

如果可以实现它,你能看看我的连接池吗? public class ConnectionPool { private static List pool = null; private static int available = 0; private ConnectionPool() {} public static DBConnection getConnection() { if (pool == null) { pool = new ArrayList(); for (int i = 0; i 0) { available–; return pool.remove(available); } else { return null; } } public static void […]

如何在数据库中建模(Java)枚举(使用SQL92)

您正在使用名为“Gender”的列为实体建模。 在应用程序代码中,性别应该是(Java)枚举类型,具有2个值(MALE和FEMALE)..如何将其建模,知道Enums as Datatype不是通用SQL(语言)的一部分92 。 数据模型必须是可移植的,以便被几个DBMS(Mysql,Oracle,Derby)和几个持久性提供程序(JPA,Hibernate,JDBC)使用。 我觉得,它达到了两个级别: – 首先是Schema和实体的级别(将枚举存储为-VAR-CHAR或INT) – 第二个应用程序代码的级别(JDBC不支持枚举,JPA但是这取决于实施) 是否存在通用解决方案,例如适用于Mysql DBMS? 谢谢 !!