У меня передается неизвестное соединение через базу DbConnection
, это может быть MySQL, SQLite, Oracle, SQL Server, Access, я не знаю.
Мне нужно вытащитьзаключенные в кавычки идентификаторы из информации схемы, я выяснил, как получить заключенные в кавычки идентификаторы, но он возвращается в RegEx, и я недостаточно знаком с RegEx, чтобы иметь возможность анализировать их динамически.* Учитывая код C #:
public class DatabaseHelper
{
internal char LeftIdentifier { get; private set; }
internal char RightIdentifier { get; private set; }
private void SetQuotedIdentifiers(DbConnection connection)
{
string quotedIdentifier = connection.GetSchema("DataSourceInformation").Rows[0]["QuotedIdentifierPattern"].ToString();
LeftIdentifier = null; // some code I have to figure out
RightIdentifier = null; // some code I have to figure out
}
}
Мне нужна помощь в настройке значений LeftIdentifier
и RightIdentifier
.
Если я запускаю этот код с подключением Oracle, quotedIdentifier
возвращается со следующим результатом:
(([^\"]\"\")*)
Я хочу установить LeftIdentifier
в этом случае равным " и RightIdentifier
также "
Если я запускаю этот код с подключением к SQL Server, quotedIdentifier
возвращается со следующим результатом:
(([^\\[]|\\]\\])*)
В этом случае я хочу установить LeftIdentifier
на [ и RightIdentifier равны ]
Может кто-нибудь помочь с кодом, необходимым для этого?Я сталкиваюсь с камнем преткновения всем, что пытаюсь.
Примечание. Информацию об этой функции я получил из этой статьи MSDN .
.