No such export fetchAll / execute in resource mysql-async
Bir script, kurulu olandan daha eski bir veritabanı sistemi için yazılmış.
Önce şunu yap
Ya script'in beklediği sürümü kur, ya da satıcıdan güncellenmiş bir tane iste.
Ne anlama gelir
Bir script, kurulu olandan farklı bir veritabanı kaynağının API'sini çağırıyor. FiveM üçünden geçti — mysql-async, sonra ghmattimysql, şimdi oxmysql — ve biri için yazılmış script'ler, diğerlerinde olmayan export'ları çağırır.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
Script mysql-async istiyor, sen oxmysql çalıştırıyorsun
oxmysql bir uyumluluk katmanıyla gelir, ama etkinleştirilmesi gerekir ve her şeyi kapsamaz.
- 2
Eski kaynak kurulu ama başlatılmamış
Klasörde var, server.cfg'de yok.
- 3
Aynı anda iki veritabanı kaynağı
İkisi de kurulu, her biri yarım yapılandırılmış, ve script'ler ikisine bölünmüş.
- 4
Hiç var olmamış bir export
fetchSyncghmattimysql'indi;fetchAllmysql-async'indi. Hiçbiri oxmysql'in kendi API'si değil.
Hangisinin seninki olduğu nasıl anlaşılır
print(GetResourceState('oxmysql'), GetResourceState('mysql-async'))Sonra başarısız olan script'te hangi API'nin kullanıldığını ara:
grep -rn "MySQL\.\|exports\['mysql-async'\]\|exports.oxmysql" my-script/
Nereye bakmalı
Script'in veritabanı çağrıları, ve server.cfg'nin hangi veritabanı kaynağını başlattığı.
Nasıl düzeltilir
oxmysql'de standartlaş ve eski script'ler için uyumluluk katmanını aç:
# server.cfg set mysql_connection_string "mysql://user:pass@host/db?charset=utf8mb4" ensure oxmysql # yalnızca hâlâ eski API'ler için yazılmış script'ler çalıştırıyorsan set oxmysql_slow_query_warning 200
Düzenleyebildiğin bir script için çağrıyı taşı:
-- mysql-async
MySQL.Async.fetchAll('SELECT * FROM users WHERE identifier = @id', { ['@id'] = id }, cb)
-- oxmysql
MySQL.query('SELECT * FROM users WHERE identifier = ?', { id }, cb)Hâlâ kendi kodunda mı takıldın?
Bu sayfa, bu hatanın genelde ne anlama geldiğini anlatır. Konsolunu Server Fixer'a yapıştır; içindeki her şeyi sıraya dizer ve önce ne yapman gerektiğini söyler. Kendin uğraşmak istemiyorsan ORBIE script'i onarır ve kaynağı sunucuna atmaya hazır geri verir.
bug_reportServer Fixer'ı açBu tür bir hata için Script Optimizer buna yol açan sorgu kalıplarını yakalar.