使用 mule 连接 MS SQL 服务器
Connecting MS SQL Server with mule
我在 mule 应用程序中工作,我是 mule 应用程序开发的新手。
在我的应用程序中,如何连接到 MS Sql 服务器。
我已经尝试过数据库连接器,但它没有 SQL 服务器的连接配置。
谢谢。
您必须创建一个连接字符串以将您的应用程序连接到 SQL 服务器。
像这样:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring(v=vs.110).aspx
这是将 MS SQL 与 Mule 3.5 连接的方法:-
举个例子:-
<db:generic-config name="Generic_Database_Configuration" url="jdbc:sqlserver://<your servername>:1433;databaseName=<your DB name>;user=<user name>;password=<password>"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
doc:name="Generic Database Configuration" />
<flow name="BestelItems" doc:name="BestelItems">
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="30" timeUnit="SECONDS"/>
<processor-chain doc:name="Processor Chain">
<db:select config-ref="Generic_Database_Configuration" doc:name="Database">
<db:dynamic-query><![CDATA[select * from table1 where ID=8]]>
</db:dynamic-query>
</db:select>
</processor-chain>
</poll><logger message="Payload :- #[message.payload]" level="INFO" doc:name="Logger" />
</flow>
对于较旧的 Mule 版本(Mule 3.4 或更早版本):-
请按照示例:-
<jdbc-ee:mssql-data-source name="MS_SQL_Data_Source" url="jdbc:sqlserver://<your servername>:1433;databaseName=<your DB name>;user=<user name>;password=<password>" transactionIsolation="UNSPECIFIED" doc:name="MS SQL Data Source"/>
<jdbc-ee:connector name="Database_Global" dataSource-ref="MS_SQL_Data_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database" transactionPerMessage="false">
<jdbc-ee:query key="RetriveQuery" value="Select * from table1"/>
</jdbc-ee:connector>
<flow name="InboundJDBC" doc:name="InboundJDBC" initialState="stopped">
<jdbc-ee:inbound-endpoint queryTimeout="-1" pollingFrequency="1000" doc:name="Database" connector-ref="Database_Global" queryKey="RetriveQuery">
<jdbc-ee:transaction action="ALWAYS_BEGIN" />
<property key="receiveMessageInTransaction" value="true"/>
</jdbc-ee:inbound-endpoint>
<mulexml:object-to-xml-transformer doc:name="Object to XML"/>
<logger message="JDBC Transaction #[message.payload] **************" level="INFO" doc:name="Logger"/>
</flow>
我正在使用 SQLserver express 2012。
- 从微软 sqljdbc41.jar 下载 sqljdbc41.jar 文件
- 将 jar 文件放入 Anypoint Studio 插件目录(例如 C:\Program Files (x86)\AnypointStudio\plugins)
- 使用 SQL 配置管理器,转到 SQL 服务器网络配置 --> SQLEXPRESS 的协议并启用 TCP/IP 协议
在 AnyPoint studio 中(我使用的是 v5.1 March 2015),select 数据库连接器。
在常规选项卡 --> 基本设置中,编辑连接器配置。
设置数据库URL:
jdbc:sqlserver://localhost\SQLEXPRESS;数据库=your_database;用户=your_dbuser;密码=your_dbPassword
将驱动程序 Class 设置为
com.microsoft.sqlserver.jdbc.SQLServerDriver
然后按"Test Connection"
我在 mule 应用程序中工作,我是 mule 应用程序开发的新手。 在我的应用程序中,如何连接到 MS Sql 服务器。 我已经尝试过数据库连接器,但它没有 SQL 服务器的连接配置。
谢谢。
您必须创建一个连接字符串以将您的应用程序连接到 SQL 服务器。 像这样:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring(v=vs.110).aspx
这是将 MS SQL 与 Mule 3.5 连接的方法:- 举个例子:-
<db:generic-config name="Generic_Database_Configuration" url="jdbc:sqlserver://<your servername>:1433;databaseName=<your DB name>;user=<user name>;password=<password>"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
doc:name="Generic Database Configuration" />
<flow name="BestelItems" doc:name="BestelItems">
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="30" timeUnit="SECONDS"/>
<processor-chain doc:name="Processor Chain">
<db:select config-ref="Generic_Database_Configuration" doc:name="Database">
<db:dynamic-query><![CDATA[select * from table1 where ID=8]]>
</db:dynamic-query>
</db:select>
</processor-chain>
</poll><logger message="Payload :- #[message.payload]" level="INFO" doc:name="Logger" />
</flow>
对于较旧的 Mule 版本(Mule 3.4 或更早版本):- 请按照示例:-
<jdbc-ee:mssql-data-source name="MS_SQL_Data_Source" url="jdbc:sqlserver://<your servername>:1433;databaseName=<your DB name>;user=<user name>;password=<password>" transactionIsolation="UNSPECIFIED" doc:name="MS SQL Data Source"/>
<jdbc-ee:connector name="Database_Global" dataSource-ref="MS_SQL_Data_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database" transactionPerMessage="false">
<jdbc-ee:query key="RetriveQuery" value="Select * from table1"/>
</jdbc-ee:connector>
<flow name="InboundJDBC" doc:name="InboundJDBC" initialState="stopped">
<jdbc-ee:inbound-endpoint queryTimeout="-1" pollingFrequency="1000" doc:name="Database" connector-ref="Database_Global" queryKey="RetriveQuery">
<jdbc-ee:transaction action="ALWAYS_BEGIN" />
<property key="receiveMessageInTransaction" value="true"/>
</jdbc-ee:inbound-endpoint>
<mulexml:object-to-xml-transformer doc:name="Object to XML"/>
<logger message="JDBC Transaction #[message.payload] **************" level="INFO" doc:name="Logger"/>
</flow>
我正在使用 SQLserver express 2012。 - 从微软 sqljdbc41.jar 下载 sqljdbc41.jar 文件 - 将 jar 文件放入 Anypoint Studio 插件目录(例如 C:\Program Files (x86)\AnypointStudio\plugins) - 使用 SQL 配置管理器,转到 SQL 服务器网络配置 --> SQLEXPRESS 的协议并启用 TCP/IP 协议
在 AnyPoint studio 中(我使用的是 v5.1 March 2015),select 数据库连接器。 在常规选项卡 --> 基本设置中,编辑连接器配置。
设置数据库URL:
jdbc:sqlserver://localhost\SQLEXPRESS;数据库=your_database;用户=your_dbuser;密码=your_dbPassword
将驱动程序 Class 设置为
com.microsoft.sqlserver.jdbc.SQLServerDriver
然后按"Test Connection"