คำถามติดแท็ก sqlite

SQLite เป็นไลบรารีซอฟต์แวร์ที่ใช้เอ็นจินฐานข้อมูล SQL แบบทรานแซคชันที่มีอยู่ในตัวเองแบบไร้เซิร์ฟเวอร์

2
ฉันสามารถอ่านและเขียนไปยังฐานข้อมูล SQLite พร้อมกันจากการเชื่อมต่อหลายรายการได้หรือไม่
ฉันมีฐานข้อมูล SQLite ที่ใช้โดยสองกระบวนการ ฉันสงสัยว่าด้วย SQLite เวอร์ชันล่าสุดในขณะที่กระบวนการหนึ่ง (การเชื่อมต่อ) เริ่มต้นธุรกรรมเพื่อเขียนไปยังฐานข้อมูลกระบวนการอื่นจะสามารถอ่านจากฐานข้อมูลพร้อมกันได้หรือไม่
89 sqlite 

5
ส่งออกจาก sqlite เป็น csv โดยใช้เชลล์สคริปต์
ฉันกำลังสร้างเชลล์สคริปต์เพื่อส่งออกเคียวรี sqlite ไปยังไฟล์ csv เช่นนี้: #!/bin/bash ./bin/sqlite3 ./sys/xserve_sqlite.db ".headers on" ./bin/sqlite3 ./sys/xserve_sqlite.db ".mode csv" ./bin/sqlite3 ./sys/xserve_sqlite.db ".output out.csv" ./bin/sqlite3 ./sys/xserve_sqlite.db "select * from eS1100_sensor_results;" ./bin/sqlite3 ./sys/xserve_sqlite.db ".exit" เมื่อเรียกใช้สคริปต์เอาต์พุตจะปรากฏบนหน้าจอแทนที่จะบันทึกเป็น "out.csv" มันทำงานด้วยวิธีเดียวกันกับบรรทัดคำสั่ง แต่ฉันไม่รู้ว่าทำไมเชลล์สคริปต์จึงไม่สามารถส่งออกข้อมูลไปยังไฟล์ได้ ผมทำอะไรผิดหรือเปล่า?
89 sqlite  shell  csv 

2
ตัวอย่างการค้นหาข้อความแบบเต็มใน Android
ฉันมีปัญหาในการทำความเข้าใจวิธีใช้การค้นหาข้อความแบบเต็ม (FTS) กับ Android ฉันได้อ่านเอกสาร SQLite ส่วนขยาย และฉันรู้ว่ามันเป็นไปได้ที่จะทำบน Android อย่างไรก็ตามฉันมีช่วงเวลาที่ยากลำบากในการค้นหาตัวอย่างใด ๆ ที่ฉันสามารถเข้าใจได้ แบบจำลองฐานข้อมูลพื้นฐาน ตารางฐานข้อมูล SQLite (ชื่อexample_table) มี 4 คอลัมน์ อย่างไรก็ตามมีเพียงคอลัมน์เดียว (ชื่อtext_column) ที่ต้องจัดทำดัชนีสำหรับการค้นหาข้อความแบบเต็ม ทุกแถวtext_columnมีข้อความที่มีความยาวแตกต่างกันตั้งแต่ 0 ถึง 1,000 คำ จำนวนแถวทั้งหมดมากกว่า 10,000 คุณจะตั้งค่าตารางและ / หรือตารางเสมือน FTS อย่างไร คุณจะดำเนินการค้นหา FTS text_columnอย่างไร? หมายเหตุเพิ่มเติม: เพราะเพียงหนึ่งความต้องการคอลัมน์การจัดทำดัชนีเพียงแค่ใช้ตาราง FTS (และลดลงexample_table) จะไม่มีประสิทธิภาพสำหรับการค้นหาที่ไม่ FTS- สำหรับตารางขนาดใหญ่เช่นนี้การจัดเก็บรายการที่ซ้ำกันtext_columnในตาราง FTS จะไม่เป็นที่พึงปรารถนา โพสต์นี้แสดงให้เห็นการใช้ตารางเนื้อหาภายนอก ตารางเนื้อหาภายนอกใช้ FTS4 แต่ …

8
รหัสผ่านป้องกัน SQLite DB เป็นไปได้ไหม?
ฉันต้องเผชิญกับโครงการเล็ก ๆ น้อย ๆ ใหม่ จะมีประมาณ 7 หรือ 9 ตารางตารางที่ใหญ่ที่สุดจะเติบโตขึ้นโดยอัตราสูงสุด 1,000 แถวต่อเดือน ฉันคิดว่า SQLite เป็นฐานข้อมูลของฉัน ... แต่ฉันจะต้องปกป้องฐานข้อมูลในกรณีที่มีใครต้องการเปลี่ยนข้อมูลจากฐานข้อมูล คำถามหลักของฉันคือ: รหัสผ่านเป็นไปได้หรือไม่ที่จะป้องกันฐานข้อมูล sqlite เหมือนที่คุณทำในการเข้าถึง คุณจะแนะนำ RDBMS อะไรอีกสำหรับโซลูชันขนาดเล็กเช่นนี้ การพัฒนาจะอยู่ใน C # แต่ฉันกำลังค้นหาบางอย่างฟรี
88 c#  sqlite 

7
rawQuery (แบบสอบถาม selectionArgs)
ฉันต้องการใช้ Select Query เพื่อดึงข้อมูลจากตาราง ฉันพบrawQuery(query, selectionArgs)วิธีการของSQLiteDatabaseคลาสในการดึงข้อมูลแล้ว แต่ผมไม่ทราบว่าวิธีการqueryและselectionArgsควรได้รับการส่งผ่านไปยังrawQueryวิธี?
88 android  sqlite 

5
SQlite รับตำแหน่งที่ใกล้ที่สุด (ด้วยละติจูดและลองจิจูด)
ฉันมีข้อมูลที่มีละติจูดและลองจิจูดที่เก็บไว้ในฐานข้อมูล SQLite ของฉันและฉันต้องการรับตำแหน่งที่ใกล้ที่สุดกับพารามิเตอร์ที่ฉันใส่ไว้ (เช่นตำแหน่งปัจจุบันของฉัน - lat / lng ฯลฯ ) ฉันรู้ว่าสิ่งนี้เป็นไปได้ใน MySQL และฉันได้ทำการวิจัยมาพอสมควรแล้วว่า SQLite ต้องการฟังก์ชันภายนอกที่กำหนดเองสำหรับสูตร Haversine (การคำนวณระยะทางบนทรงกลม) แต่ฉันไม่พบสิ่งใดที่เขียนใน Java และใช้งานได้ . นอกจากนี้ถ้าฉันต้องการเพิ่มฟังก์ชันที่กำหนดเองฉันต้องใช้org.sqlite. jar (สำหรับorg.sqlite.Function) และนั่นเป็นการเพิ่มขนาดที่ไม่จำเป็นให้กับแอป อีกด้านหนึ่งคือฉันต้องการฟังก์ชั่น Order by จาก SQL เนื่องจากการแสดงระยะทางเพียงอย่างเดียวนั้นไม่ได้เป็นปัญหามากนัก - ฉันทำมันใน SimpleCursorAdapter ที่กำหนดเองแล้ว แต่ฉันไม่สามารถเรียงลำดับข้อมูลได้เพราะฉัน ไม่มีคอลัมน์ระยะทางในฐานข้อมูลของฉัน นั่นหมายถึงการอัปเดตฐานข้อมูลทุกครั้งที่มีการเปลี่ยนแปลงตำแหน่งและเป็นการสิ้นเปลืองแบตเตอรี่และประสิทธิภาพ ดังนั้นหากใครมีความคิดในการจัดเรียงเคอร์เซอร์ด้วยคอลัมน์ที่ไม่ได้อยู่ในฐานข้อมูลฉันก็รู้สึกขอบคุณเช่นกัน! ฉันรู้ว่ามีแอพ Android มากมายที่ใช้ฟังก์ชั่นนี้ แต่ใครช่วยอธิบายความมหัศจรรย์ให้หน่อยได้ไหม อย่างไรก็ตามฉันพบทางเลือกนี้: ค้นหาเพื่อรับบันทึกตาม Radius ใน SQLite? แนะนำให้สร้าง 4 …

15
รางติดตั้ง pg - ไม่พบส่วนหัว 'libpq-fe.h
$ sudo bundle install ผลลัพธ์ Fetching gem metadata from https://rubygems.org/........... Fetching gem metadata from https://rubygems.org/.. Using rake (0.9.2.2) Using i18n (0.6.1) Using multi_json (1.3.6) Using activesupport (3.2.8) Using builder (3.0.4) Using activemodel (3.2.8) Using erubis (2.7.0) Using journey (1.0.4) Using rack (1.4.1) Using rack-cache (1.2) Using rack-test (0.6.2) Using hike …

14
Python sqlite3 และการทำงานพร้อมกัน
ฉันมีโปรแกรม Python ที่ใช้โมดูล "เธรด" ทุกๆวินาทีโปรแกรมของฉันจะเริ่มเธรดใหม่เพื่อดึงข้อมูลบางส่วนจากเว็บและเก็บข้อมูลนี้ไว้ในฮาร์ดไดรฟ์ ฉันต้องการใช้ sqlite3 เพื่อเก็บผลลัพธ์เหล่านี้ แต่ไม่สามารถใช้งานได้ ปัญหาน่าจะเกี่ยวกับบรรทัดต่อไปนี้: conn = sqlite3.connect("mydatabase.db") ถ้าฉันใส่รหัสบรรทัดนี้ในแต่ละเธรดฉันจะได้รับ OperationalError ที่บอกฉันว่าไฟล์ฐานข้อมูลถูกล็อก ฉันเดาว่านี่หมายความว่าเธรดอื่นเปิด mydatabase.db ผ่านการเชื่อมต่อ sqlite3 และได้ล็อกไว้ ถ้าฉันใส่โค้ดบรรทัดนี้ในโปรแกรมหลักและส่งต่ออ็อบเจกต์การเชื่อมต่อ (conn) ไปยังแต่ละเธรดฉันจะได้รับ ProgrammingError โดยบอกว่าอ็อบเจ็กต์ SQLite ที่สร้างในเธรดสามารถใช้ได้ในเธรดเดียวกันเท่านั้น ก่อนหน้านี้ฉันเก็บผลการค้นหาทั้งหมดไว้ในไฟล์ CSV และไม่มีปัญหาการล็อกไฟล์เหล่านี้ หวังว่าจะเป็นไปได้กับ sqlite ความคิดใด ๆ ?
87 python  sqlite 

9
ความแตกต่างที่แน่นอนระหว่าง“ Content-Provider” และ“ SQLite Database”
ฉันได้ทำการเขียนโปรแกรมฐานข้อมูล SQLite สำหรับ Android แล้ว แต่ฉันไม่รู้อะไรเลยเกี่ยวกับ Content-Provider ยกเว้นสิ่งนี้: "ตามที่ฉันได้อ้างถึงหน้านักพัฒนาซอฟต์แวร์ Android Android SDK ได้อธิบายเกี่ยวกับ" ผู้ให้บริการเนื้อหา "ซึ่งใช้ในการจัดเก็บและดึงข้อมูล" แต่แล้ว, อะไรคือความแตกต่างที่แน่นอนระหว่าง "Content-Provider" และ "SQLite Database"? ข้อใดดีที่สุดในการจัดเก็บข้อมูลเมื่อใด ตัวอย่างหรือช่วยด้วย !!

12
จะตรวจสอบได้อย่างไรว่ามีตารางอยู่ในฐานข้อมูล Android SQLite หรือไม่?
ฉันมีแอป Android ที่ต้องการตรวจสอบว่ามีบันทึกอยู่ในฐานข้อมูลหรือไม่และหากไม่มีให้ประมวลผลบางอย่างและแทรกลงในที่สุดและอ่านข้อมูลจากฐานข้อมูลหากมีข้อมูลอยู่ ฉันใช้คลาสย่อยของ SQLiteOpenHelper เพื่อสร้างและรับอินสแตนซ์ SQLiteDatabase แบบเขียนซ้ำได้ซึ่งฉันคิดว่าจะดูแลการสร้างตารางโดยอัตโนมัติหากยังไม่มีอยู่ (เนื่องจากโค้ดที่ต้องทำนั้นอยู่ใน onCreate (... ) วิธี). อย่างไรก็ตามเมื่อยังไม่มีตารางและเมธอดแรกที่รันบนอ็อบเจ็กต์ SQLiteDatabase ที่ฉันมีคือการเรียกไปยังเคียวรี (... ) logcat ของฉันแสดงข้อผิดพลาดของ "I / Database (26434): sqlite return: error code = 1, msg = ไม่มีตารางดังกล่าว: appdata "และแน่นอนว่าตาราง appdata ไม่ได้ถูกสร้างขึ้น ความคิดเกี่ยวกับสาเหตุใด ฉันกำลังมองหาวิธีทดสอบว่ามีตารางอยู่หรือไม่ (เพราะถ้าไม่มีข้อมูลก็ไม่อยู่ในนั้นอย่างแน่นอนและฉันไม่จำเป็นต้องอ่านจนกว่าจะเขียนถึงมันซึ่งดูเหมือนจะสร้างตาราง อย่างถูกต้อง) หรือวิธีตรวจสอบให้แน่ใจว่าสร้างขึ้นและว่างเปล่าทันเวลาสำหรับการเรียกครั้งแรกเพื่อสอบถาม (... ) แก้ไข สิ่งนี้ถูกโพสต์หลังจากสองคำตอบด้านล่าง: ฉันคิดว่าฉันอาจพบปัญหา ฉันตัดสินใจด้วยเหตุผลบางประการว่าควรสร้าง SQLiteOpenHelper ที่แตกต่างกันสำหรับแต่ละตารางแม้ว่าทั้งสองจะเข้าถึงไฟล์ฐานข้อมูลเดียวกัน …

18
ไม่สามารถโหลดไฟล์ดังกล่าวได้ - sqlite3 / sqlite3_native (LoadError) บนทับทิมบนราง
เมื่อฉันพยายามตั้งค่าการติดตั้งพื้นฐานและการเริ่มต้นเซิร์ฟเวอร์โดยใช้ Rails 4.0.0 บน Ruby 2.0.0 ฉันพบข้อความแสดงข้อผิดพลาดต่อไปนี้ /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError) from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `rescue in <top (required)>' from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:2:in `<top (required)>' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require' …

3
ธุรกรรมฐานข้อมูล Android
ฉันได้สร้างฐานข้อมูลแล้ว ฉันต้องการทำรายการ SaveCustomer()มีคำสั่งมากกว่าหนึ่งรายการเพื่อแทรกระเบียนลงในCustomer, CustomerControl, Profile, Paymentตารางในขณะนั้น เมื่อผู้ใช้เรียกใช้ SaveCustomer()method ข้อมูลนั้นจะไปที่ 4 ตารางเหล่านี้ดังนั้นฉันจะทำธุรกรรมได้อย่างไร? หากการแทรกตารางล้มเหลวจำเป็นต้องย้อนกลับทุกอย่าง ตัวอย่างเช่นเมื่อตารางที่ 3 แทรกระเบียนฉันได้รับข้อผิดพลาดจากนั้นจำเป็นต้องย้อนกลับระเบียนแทรกของตารางสองรายการก่อนหน้านี้ด้วย ดูรหัสของฉัน: public void saveCustomer(){ DBAdapter dbAdapter = DBAdapter.getDBAdapterInstance(RetailerOrderKeyActivity.this); dbAdapter.openDataBase(); ContentValues initialValues = new ContentValues(); initialValues.put("CustomerName",customer.getName()); initialValues.put("Address",customer.getAddress()); initialValues.put("CustomerPID",strPID); initialValues.put("Date",strDateOnly); long n = dbAdapter.insertRecordsInDB("Customer", null, initialValues); } ในทำนองเดียวกันคำสั่งอื่น ๆ ก็มีเช่นกัน รหัส DBAdpter คือ: public long insertRecordsInDB(String tableName, …

1
Android Q: ฐานข้อมูล SQLite ในที่จัดเก็บข้อมูลที่กำหนดขอบเขต
ใน Android Q แนะนำคุณสมบัติการจัดเก็บ Scopedใหม่ซึ่งกล่าวว่า: แอปที่กำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) และสูงกว่าจะได้รับการกำหนดขอบเขตการเข้าถึงที่จัดเก็บข้อมูลภายนอกหรือที่เก็บข้อมูลที่กำหนดขอบเขตโดยค่าเริ่มต้น แอพดังกล่าวมีการเข้าถึงเฉพาะไดเรกทอรีเฉพาะแอปบนที่จัดเก็บข้อมูลภายนอกรวมถึงสื่อประเภทเฉพาะที่แอปสร้างขึ้น ฉันมีแอพของฉันที่สร้างฐานข้อมูล SQLite บนที่จัดเก็บข้อมูลภายนอกเช่นเมื่อแอปถอนการติดตั้งฐานข้อมูลยังมีชีวิตอยู่และสามารถใช้ในภายหลังเป็นการกู้คืนหรือใช้นอกอุปกรณ์ Android (สมมติว่าในพีซี) ฉันจะบรรลุผลเช่นเดียวกันกับ Android Q ได้อย่างไร แม่นยำยิ่งขึ้นถ้าฐานข้อมูลที่จัดเก็บในไดเรกทอรีสาธารณะภายนอกฉันจะอ่านฐานข้อมูลนี้โดยใช้มาตรฐานได้SQLiteOpenHelperอย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.