Соединитесь с базой данных Oracle 8.0 с помощью 10-граммового клиента

Я создал это для «детской площадки»):

struct Model {
    let id: String
    let placeId: String

    init(id: String, placeId: String) {
        self.id = id
        self.placeId = placeId
    }
}

extension Model {
    static func all() -> [Model] {
        let ids = ["ITCAw554sCHlN3A6q7Yl",
                   "n50cavoOJeRkjoRj11j3",
                   "TE9ubEqV0tw0Hf4h8tk7",
                   "TE9ubEqV0tw0Hf4h8tk7",
                   "TE9ubEqV0tw0Hf4h8tk7",
                   "ITCAw554sCHlN3A6q7Yl",
                   "mkCs25zSf3J8QTvpS81b",
                   "TE9ubEqV0tw0Hf4h8tk7",
                   "Gc5lnHAKWm1OyeMkA9e7",
                   "n50cavoOJeRkjoRj11j3",
                   "mkCs25zSf3J8QTvpS81b",
                   "mkCs25zSf3J8QTvpS81b",
                   "ITCAw554sCHlN3A6q7Yl",
                   "X9WyrvEE253keNdlbVZc",
                   "ITCAw554sCHlN3A6q7Yl"]
        var models: [Model] = []
        for (index, anId) in ids.enumerated() {
            let aModel = Model(id: anId, placeId: String(index))
            models.append(aModel)
        }
        return models
    }
}

Затем я сделал это:

let initialModels = Model.all()
let shuffled = initialModels.shuffled()
print("shuffled:\n\(shuffled)")

Итак, shuffled находится в неправильном «порядке». [ 1113]

Проблема с вашей текущей сортировкой в ​​том, что id не уникален. Вам нужно отсортировать по уникальному идентификатору, либо вычисленному, используя сравнение по нескольким свойствам и т. Д. Кроме того, вы не можете определить, какой из них встречается среди найденных вхождений, что, по вашему мнению, является комбинацией id и [ 119] свойства.

let initialValues: [(String, String)] = initialModels.map({ ([112].id, [112].placeId) })

Для того, чтобы у вас было:

func sort(by idsAndPlaceId: [(String, String)]) -> [Model]

Тогда, потому что я не хотел использовать self и т. Д., Но это можно было бы адаптировать:

[114 ]

Вывод:

[115]gt;shuffled:
[Model(id: "ITCAw554sCHlN3A6q7Yl", placeId: "0"), 
Model(id: "n50cavoOJeRkjoRj11j3", placeId: "1"), 
Model(id: "mkCs25zSf3J8QTvpS81b", placeId: "10"), 
Model(id: "ITCAw554sCHlN3A6q7Yl", placeId: "5"),
Model(id: "X9WyrvEE253keNdlbVZc", placeId: "13"), 
Model(id: "n50cavoOJeRkjoRj11j3", placeId: "9"), 
Model(id: "ITCAw554sCHlN3A6q7Yl", placeId: "12"), 
Model(id: "TE9ubEqV0tw0Hf4h8tk7", placeId: "4"), 
Model(id: "mkCs25zSf3J8QTvpS81b", placeId: "11"), 
Model(id: "Gc5lnHAKWm1OyeMkA9e7", placeId: "8"), 
Model(id: "TE9ubEqV0tw0Hf4h8tk7", placeId: "3"), 
Model(id: "ITCAw554sCHlN3A6q7Yl", placeId: "14"), 
Model(id: "TE9ubEqV0tw0Hf4h8tk7", placeId: "2"), 
Model(id: "TE9ubEqV0tw0Hf4h8tk7", placeId: "7"), 
Model(id: "mkCs25zSf3J8QTvpS81b", placeId: "6")]
[115]gt;resorted:
[Model(id: "ITCAw554sCHlN3A6q7Yl", placeId: "0"), 
Model(id: "n50cavoOJeRkjoRj11j3", placeId: "1"), 
Model(id: "TE9ubEqV0tw0Hf4h8tk7", placeId: "2"), 
Model(id: "TE9ubEqV0tw0Hf4h8tk7", placeId: "3"), 
Model(id: "TE9ubEqV0tw0Hf4h8tk7", placeId: "4"), 
Model(id: "ITCAw554sCHlN3A6q7Yl", placeId: "5"), 
Model(id: "mkCs25zSf3J8QTvpS81b", placeId: "6"), 
Model(id: "TE9ubEqV0tw0Hf4h8tk7", placeId: "7"), 
Model(id: "Gc5lnHAKWm1OyeMkA9e7", placeId: "8"), 
Model(id: "n50cavoOJeRkjoRj11j3", placeId: "9"), 
Model(id: "mkCs25zSf3J8QTvpS81b", placeId: "10"), 
Model(id: "mkCs25zSf3J8QTvpS81b", placeId: "11"),
Model(id: "ITCAw554sCHlN3A6q7Yl", placeId: "12"), 
Model(id: "X9WyrvEE253keNdlbVZc", placeId: "13"), 
Model(id: "ITCAw554sCHlN3A6q7Yl", placeId: "14")]
5
задан JosephStyons 22 December 2010 в 20:00
поделиться

2 ответа

Да, можно соединиться с базой данных Oracle 8i с 10-граммовым клиентом, но 8i База данных требует 8.1.7.3 patchset, которые можно получить от сайта поддержки Метассылки Oracle (требует входа в систему).

Вот сообщение форума Oracle с деталями.


Если обновление Вашей Базы данных Oracle не является опцией, затем Вы можете иметь 2 различных установленные клиента (в различных "Домах Oracle" (или каталоги) и использовать selecthome.bat файл для переключения между установленными клиентами.

Например, прежде, чем соединиться с 8i, Вы работали:

C:\Oracle\Client1_8i\bin\selecthome.bat

или это для использования клиента 10 г Oracle:

C:\Oracle\Client2_10g\bin\selecthome.bat

7
ответ дан 14 December 2019 в 04:51
поделиться

Я должен был подключить код C# к Oracle 7 (я знаю Вас, это 8...)... единственный способ, которым я добираюсь, это должно было заставить CD устанавливать Oracle Server и входить в "Дополнительный Компонент Конфигурации" и использовать Oracle73 Ver2.5.

Я думаю, что необходимо пойти, проверяют CD сервера Oracle 8 и проверки, если ODBC все еще доступен.

1
ответ дан 14 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: