Я работаю с базой данных Sqlite3 и пытаюсь получить доступ к ее данным из другого каталога, чем он был изначально создан.
Скрипт python (тестовый пример), который я запускал через IDE автоматизации Squish GUI, находится в каталоге
C: \ Squish_Automation_Functional_nVP2 \ suite_Production_Checklist \ tst_dashboard_functional_setup
Iсоздайте базу данных со следующей таблицей внутри этого же скрипта:
def get_var_value_pass():
conn = sqlite3.connect('test_result.db')
c = conn.cursor()
c.execute('CREATE TABLE IF NOT EXISTS test_result_pass (pass TEXT,result INTEGER)')
c.execute("INSERT INTO test_result_pass VALUES('Pass', 0)")
conn.commit()
c.execute("SELECT * FROM test_result_pass WHERE pass='Pass'", )
pass_result = c.fetchone()
test.log(str(pass_result[1]))
test_result = pass_result[1]
c.close()
conn.close()
return test_result
Теперь я хотел бы получить доступ к той же базе данных, которую я создал ранее, с помощью "conn = sqlite3.connect ('test_result.db') "внутри другого контрольного примера, который находится в другом каталоге
C: \ Squish_Automation_Functional_nVP2 \ suite_Production_Checklist \ tst_Calling_In-Call-Options_Text_Share-Text_Update-Real-Time
Проблема заключается в том, когдаЯ пытаюсь использовать оператор select для той же базы данных - внутри другого скрипта (тестового примера), например так:
def get_var_value_pass(pass_value):
conn = sqlite3.connect('test_result.db')
c = conn.cursor()
c.execute("SELECT * FROM test_result_pass WHERE pass='Pass'", )
Мой тест не пройден, как только я попробую оператор c.execute (""), потому чтостол не может быть найден.Вместо этого самый последний "conn = sqlite3.connect ('test_result.db')" только что создал новую пустую базу данных вместо ссылки на мою исходную созданную базу данных.Поэтому я пришел к выводу, что я хочу попытаться сохранить свою исходную базу данных, где оба тестовых примера могут использовать их как test_suite_resource - в основном в другом каталоге, где другие тестовые примеры будут иметь ссылку.В идеале здесь:
C: \ Squish_Automation_Functional_nVP2 \ suite_Production_Checklist
Существует ли функция sqlite3, позволяющая вам указать место, где вы хотите подключить / сохранить базу данных?Похоже на sqlite3.connect ('test_result.db') за исключением того, что вы определяете его путь?
Кстати - я попробовал второй фрагмент кода внутри того же тестового скрипта, и он отлично работает.Я также попробовал подход в памяти с помощью sqlite3.connect (': memory:') - все еще не повезло.Пожалуйста помоги!Спасибо.