Если вы сохраняете с помощью XmlWriter, то по умолчанию параметры имеют отступ с двумя пробелами и заменяют окончания строки CR / LF. Вы можете настроить эти параметры после создания записи или создать запись с объектом XmlSettings, настроенным с учетом ваших потребностей.
$fileXML = New-Object System.Xml.XmlDocument
# Try and read the file as XML. Let the errors go if it's not.
[void]$fileXML.Load($file)
$writerXML = [System.Xml.XmlWriter]::Create($file)
$fileXML.Save($writerXML)
Я нашел отзыв о подсказке полезным, чтобы устранить эту проблему в Tomcat -
, обязательно загрузите драйвер, сначала выполнив Class.forName («org.postgresql.Driver»); в вашем коде.
Это из сообщения - https://www.postgresql.org/message-id/e13c14ec050510103846db6b0e@mail.gmail.com
Код jdbc работал нормально как автономная программа, но в TOMCAT он дал ошибку «Не найден подходящий драйвер»
url="jdbc:postgresql//localhost:5432/mmas"
Этот URL-адрес выглядит неправильно, вам нужно следующее:
url="jdbc:postgresql://localhost:5432/mmas"
Возможно, стоит отметить, что это также может произойти, когда Windows блокирует загрузки, которые он считает небезопасными. Это можно устранить, щелкнув правой кнопкой мыши файл jar (например, ojdbc7.jar) и проверив поле «Unblock» внизу.
Диалоговое окно свойств файла JAR для Windows: [/g0]
Позорное java.sql.SQLException: не найдено подходящего драйвера
blockquote>Это исключение может иметь в основном две причины:
1. Драйвер JDBC не загружен
Вам необходимо убедиться, что драйвер JDBC помещен в собственную папку
/lib
сервера.[/g15]
Или, если на самом деле вы не используете источник данных пула соединений, управляемый сервером, а вручную запускаете
DriverManager#getConnection()
в WAR , тогда вам нужно поместить драйвер JDBC в WAR/WEB-INF/lib
и выполнить ..Class.forName("com.example.jdbc.Driver");
.. в вашем коде перед первый
DriverManager#getConnection()
вызов, посредством которого вы делаете убедитесь, что вы не проглатываете / игнорируете любыеClassNotFoundException
, которые могут быть выброшены им, и продолжайте поток кода, как будто ничего исключительного не произошло. См. Также Где я должен разместить драйвер JDBC для пула соединений Tomcat?2. Или URL-адрес JDBC находится в неправильном синтаксисе
Вам нужно убедиться, что URL JDBC соответствует документации драйвера JDBC и помните, что он обычно чувствителен к регистру. Когда URL-адрес JDBC не возвращает
true
дляDriver#acceptsURL()
для любого из загруженных драйверов, тогда вы также получите именно это исключение.В случае PostgreSQL это документально здесь .
С JDBC база данных представлена URL-адресом (Uniform Resource Locator). С PostgreSQL ™ это принимает одну из следующих форм:
blockquote>
jdbc:postgresql:database
jdbc:postgresql://host/database
jdbc:postgresql://host:port/database
В случае с MySQL это здесь .
Общий формат URL-адреса JDBC для подключения к серверу MySQL следующим образом: элементы в квадратных скобках (
[ ]
) являются необязательными:blockquote>
jdbc:mysql://[host1][:port1][,[host2][:port2]]...[/[database]] » [?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]
В случае Oracle это документировано здесь .
Существует 2 синтаксиса URL, старый синтаксис, который будет работать только с SID и новый с именем службы Oracle.
Старый синтаксис
jdbc:oracle:thin:@[HOST][:PORT]:SID
Новый синтаксис
blockquote>jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE
См. также:
- Где я должен разместить драйвер JDBC для Пул соединений Tomcat
- Как установить драйвер JDBC в веб-проект Eclipse без обращения к java.lang.ClassNotFoundexception
- Как следует Я подключаюсь к базе данных JDBC / источнику данных в приложении на основе сервлета?
- В чем разница между "Class.forName ()" и "Class.forName (). newInstance ()"?
- Подключить Java к базе данных MySQL
Я столкнулся с подобной проблемой. Мой проект в контексте - это динамический веб-проект (Java 8 + Tomcat 8), и ошибка для исключения драйвера PostgreSQL: Не найдено подходящего драйвера
. Он был разрешен путем добавления Class.forName("org.postgresql.Driver")
до вызов метода getConnection()
Вот мой пример кода:
try {
Connection conn = null;
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql://" + host + ":" + port + "/?preferQueryMode="
+ sql_auth,sql_user , sql_password);
} catch (Exception e) {
System.out.println("Failed to create JDBC db connection " + e.toString() + e.getMessage());
}
Помимо добавления соединителя JDBC MySQL убедитесь, что context.xml (если он не распакован в папке webapps Tomcat) с вашими определениями соединений с БД включены в каталог Tomcats conf.
Я забыл добавить драйвер JDBC PostgreSQL в проект Mvnrepository .
Gradle:
// http://mvnrepository.com/artifact/postgresql/postgresql
compile group: 'postgresql', name: 'postgresql', version: '9.0-801.jdbc4'
Maven:
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.0-801.jdbc4</version>
</dependency>
Вы также можете загрузить JAR и импортировать в свой проект вручную.
Я использовал jruby, в моем случае я создал в config / initializers
postgres_driver.rb
$CLASSPATH << '~/.rbenv/versions/jruby-1.7.17/lib/ruby/gems/shared/gems/jdbc-postgres-9.4.1200/lib/postgresql-9.4-1200.jdbc4.jar'
или везде, где ваш драйвер, и все!
У меня была эта точная проблема при разработке приложения Spring Boot в STS, но в конечном итоге развертывание упакованной войны в WebSphere (v.9). Основываясь на предыдущих ответах, моя ситуация была уникальной. ojdbc8.jar был в моей папке WEB-INF / lib с установленным набором родительского последнего класса, но всегда говорит, что не удалось найти подходящий драйвер.
Моя последняя проблема заключалась в том, что я использовал неправильный класс DataSource потому что я просто следил за онлайн-учебниками / примерами. Нашел подсказку благодаря тому, что Дэвид Дай прокомментировал свой собственный вопрос: Spring JDBC Не удалось загрузить класс драйвера JDBC [oracle.jdbc.driver.OracleDriver]
Также позже был найден весенний гуру пример с конкретным драйвером Oracle: https://springframework.guru/configuring-spring-boot-for-oracle/
Пример, который вызывает ошибку, используя org.springframework.jdbc.datasource.DriverManagerDataSource
на основе общих примеров .
@Config
@EnableTransactionManagement
public class appDataConfig {
\* Other Bean Defs *\
@Bean
public DataSource dataSource() {
// configure and return the necessary JDBC DataSource
DriverManagerDataSource dataSource = new DriverManagerDataSource("jdbc:oracle:thin:@//HOST:PORT/SID", "user", "password");
dataSource.setSchema("MY_SCHEMA");
return dataSource;
}
}
И исправленный exapmle с использованием oracle.jdbc.pool.OracleDataSource
:
@Config
@EnableTransactionManagement
public class appDataConfig {
/* Other Bean Defs */
@Bean
public DataSource dataSource() {
// configure and return the necessary JDBC DataSource
OracleDataSource datasource = null;
try {
datasource = new OracleDataSource();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
datasource.setURL("jdbc:oracle:thin:@//HOST:PORT/SID");
datasource.setUser("user");
datasource.setPassword("password");
return datasource;
}
}