İçe aktarmaya çalışırken dosyada izin reddedildi


18

Ben \ipsql.exe klasöründe olmayan bir dosyada kullanmayı denediğimde yazıyor C:: permission denied. Örneğin, SQL komutunda bir dosya var C:\Users\Work\Desktop\School Work\load_database.sqlve yazdığımda \i "C:\Users\Work\Desktop\School Work\load_database.sql"diyor C:: permission denied. Bunu nasıl düzeltebilirim?

Burada , .sql dosyasını psql.exe ile aynı klasöre kopyaladığınız bir iş buldum .

Bu arada, \ i içe aktarma anlamına mı geliyor?

Yanıtlar:


34

Sadece psqlWindows üzerinde bir tuhaflık ile karşılaştınız.

Yorumumda, gerçekten gerekli izne sahip olmamanız olasılığını dışlamak istedim . Sonra Windows'ta bile ters eğik çizgiler yerine 'normal' eğik çizgiler kullanmanız gerektiği ortaya çıktı, yani:

\i 'C:/Users/Work/Desktop/School Work/load_database.sql'

Hangi klasörden başlasanız da iyi çalışmalıdır psql. Tek tırnak kullandığım dikkat edin - çift tırnak işareti

"C:/Users/Work/Desktop/School Work/load_database.sql": Invalid argument

Anladım, teşekkürler. Çift tırnak işareti yerine tek tırnak kullanmayı nereden bildiniz? Postgres için genel bir kural mı yoksa fark nedir?
Celeritas

1
@Celeritas Windows'un yollarda çift tırnak nasıl kullandığına psqlve onu tanımlayıcılarda (ve PostgreSQL) nasıl kullandığına dair bir çatışmanın sonucu olduğunu düşünüyorum .
dezso

Bu windows10 , ileri eğik çizgiler ve hepsi benim için işe yaramadı, user68006's cevap , yine de
Scaramouche

1
@Scaramouche geri bildiriminiz için teşekkürler! Görünüşe göre, reddedilen tüm izinler eşit oluşturulmamıştır.
dezso

6

Dosyayı 'c: \ tmp' gibi herkesin tam izniyle bir dizine koyun

VEYA

Almak istediğiniz dosya için okuma ayrıcalıklarını ayarlayın.

'Herkes' okuma izni koydum.

Dosyayı içe aktardıktan sonra, bu izni iptal edebilirsiniz.

windows dosya özellikleri

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.