我尝试创建一个宏来运行将从SQL Server数据库中检索数据的查询。问题是在运行宏之后,它需要插入用户名和密码才能访问数据库。
只是想知道是否有任何方法可以通过VBA绕过凭证(可能创建某种连接并传递连接字符串)。我知道我可以使用“查询设计”构建器创建传递查询,但在调用查询时,是否有任何方法可以将凭据作为VBA中的单独参数传递。
import React from 'react'
export default class CanvasComponent extends React.Component {
constructor(props) {
this.calcRatio = this.calcRatio.bind(this);
}
// Use componentDidMount to draw on the canvas
componentDidMount() {
this.updateChart();
}
calcRatio() {
let ctx = document.createElement("canvas").getContext("2d"),
dpr = window.devicePixelRatio || 1,
bsr = ctx.webkitBackingStorePixelRatio ||
ctx.mozBackingStorePixelRatio ||
ctx.msBackingStorePixelRatio ||
ctx.oBackingStorePixelRatio ||
ctx.backingStorePixelRatio || 1;
return dpr / bsr;
}
// Draw on the canvas
updateChart() {
// Adjust resolution
const ratio = this.calcRatio();
this.canvas.width = this.props.width * ratio;
this.canvas.height = this.props.height * ratio;
this.canvas.style.width = this.props.width + "px";
this.canvas.style.height = this.props.height + "px";
this.canvas.getContext("2d").setTransform(ratio, 0, 0, ratio, 0, 0);
const ctx = this.canvas.getContext('2d');
// now use ctx to draw on the canvas
}
render() {
return (
<canvas ref={el=>this.canvas=el} width={this.props.width} height {this.props.height}/>
)
}
}
感谢任何帮助。
答案 0 :(得分:1)
如果使用ADO连接,则可以使用ODBC连接字符串连接到SQL Server数据库:
Dim conn As New ADODB.Connection
conn.Open "Driver={SQL Server};Server=[My Server];Database=[My Database];User Id=[My Username];Password=[My Password];"
Dim cmd As New ADODB.Command
cmd.ActiveConnection = conn
cmd.CommandText = "SELECT * FROM [My Table]"
cmd.Execute
Dim rst As New ADODB.Recordset
rst.Open cmd
这会将“SELECT * from [My Table]”查询的结果加载到名为rst的记录集中。如果您可以通过AD凭据访问SQL Server数据库,则可以使用可信连接:
conn.Open "Driver={SQL Server};Server=[My Server];Database=[My Database];Trusted_Connection=True"
答案 1 :(得分:1)
是。我通过销毁和创建传递查询来完成此操作。这里有一些用于Oracle的代码,但它适用于SQL Server。只需确保您拥有匹配的DSN:
Dim db As Database, q As QueryDef, sqlString as string
Set db = CurrentDb()
DoCmd.DeleteObject acQuery, "sqlServerQuery"
Set q = db.CreateQueryDef"sqlServerQuery"
q.Connect = "ODBC;DSN=myDSN;UID=myUser;PWD=myPassword"
queryString = "SELECT something FROM mySQLServertable"
q.SQL = queryString
q.ReturnsRecords = True